/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_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:37:23,417 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:37:23,419 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:37:23,452 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:37:23,452 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:37:23,453 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:37:23,454 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:37:23,455 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:37:23,456 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:37:23,457 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:37:23,457 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:37:23,458 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:37:23,459 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:37:23,459 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:37:23,460 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:37:23,461 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:37:23,461 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:37:23,462 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:37:23,464 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:37:23,465 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:37:23,466 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:37:23,469 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:37:23,470 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:37:23,471 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:37:23,472 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:37:23,474 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:37:23,474 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:37:23,475 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:37:23,475 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:37:23,476 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:37:23,476 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:37:23,477 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:37:23,477 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:37:23,478 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:37:23,478 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:37:23,479 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:37:23,479 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:37:23,480 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:37:23,480 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:37:23,480 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:37:23,481 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:37:23,490 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:37:23,492 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:37:23,502 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:37:23,503 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:37:23,507 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:37:23,507 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:37:23,507 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:37:23,508 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:37:23,508 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:37:23,508 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:37:23,508 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:37:23,509 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:37:23,509 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:37:23,509 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:37:23,509 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:37:23,509 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:37:23,509 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:37:23,510 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:37:23,510 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:37:23,511 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-15 15:37:23,730 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:37:23,745 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:37:23,747 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:37:23,748 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:37:23,748 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:37:23,749 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound100.c [2022-04-15 15:37:23,800 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/98b704cc6/720ce3a90028450485dbf64c5534d8bd/FLAGad27f9f09 [2022-04-15 15:37:24,126 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:37:24,126 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound100.c [2022-04-15 15:37:24,133 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/98b704cc6/720ce3a90028450485dbf64c5534d8bd/FLAGad27f9f09 [2022-04-15 15:37:24,537 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/98b704cc6/720ce3a90028450485dbf64c5534d8bd [2022-04-15 15:37:24,539 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:37:24,540 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:37:24,543 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:37:24,543 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:37:24,547 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:37:24,548 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,548 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@979b02b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24, skipping insertion in model container [2022-04-15 15:37:24,549 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,554 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:37:24,568 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:37:24,708 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_valuebound100.c[538,551] [2022-04-15 15:37:24,739 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:37:24,753 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:37:24,767 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_valuebound100.c[538,551] [2022-04-15 15:37:24,786 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:37:24,796 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:37:24,797 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24 WrapperNode [2022-04-15 15:37:24,797 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:37:24,798 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:37:24,798 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:37:24,798 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:37:24,807 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,807 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,814 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,815 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,828 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,833 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,840 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,843 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:37:24,844 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:37:24,844 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:37:24,844 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:37:24,845 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (1/1) ... [2022-04-15 15:37:24,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:37:24,858 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:24,868 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-15 15:37:24,896 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-15 15:37:24,910 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:37:24,910 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:37:24,910 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:37:24,911 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:37:24,911 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:37:24,911 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:37:24,911 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:37:24,911 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:37:24,911 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:37:24,911 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:37:24,911 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 15:37:24,912 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:37:24,912 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:37:24,912 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:37:24,913 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:37:24,913 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:37:24,913 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:37:24,913 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:37:24,914 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:37:24,914 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:37:24,972 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:37:24,974 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:37:25,151 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:37:25,157 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:37:25,157 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 15:37:25,159 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:37:25 BoogieIcfgContainer [2022-04-15 15:37:25,159 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:37:25,160 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:37:25,160 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:37:25,185 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:37:25,185 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:37:24" (1/3) ... [2022-04-15 15:37:25,186 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d59da9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:37:25, skipping insertion in model container [2022-04-15 15:37:25,186 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:37:24" (2/3) ... [2022-04-15 15:37:25,186 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d59da9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:37:25, skipping insertion in model container [2022-04-15 15:37:25,186 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:37:25" (3/3) ... [2022-04-15 15:37:25,187 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound100.c [2022-04-15 15:37:25,191 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:37:25,191 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:37:25,241 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:37:25,247 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 15:37:25,247 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:37:25,278 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 15:37:25,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:37:25,286 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:25,286 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:25,287 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:25,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:25,293 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 15:37:25,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:25,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [96525310] [2022-04-15 15:37:25,313 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:25,313 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 15:37:25,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:25,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085389261] [2022-04-15 15:37:25,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:25,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:25,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:25,505 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:25,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:25,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:37:25,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:37:25,532 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:37:25,533 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:25,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:25,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:37:25,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:25,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:25,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:37:25,551 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:25,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:25,556 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:37:25,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:25,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:37:25,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:37:25,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:37:25,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 15:37:25,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#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; {41#true} is VALID [2022-04-15 15:37:25,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:25,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,561 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,562 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:37:25,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 15:37:25,562 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:25,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,563 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:37:25,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 15:37:25,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:37:25,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:37:25,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:37:25,565 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:37:25,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-15 15:37:25,565 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:37:25,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-15 15:37:25,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 15:37:25,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 15:37:25,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:37:25,567 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:25,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:25,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085389261] [2022-04-15 15:37:25,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085389261] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:25,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:25,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:37:25,570 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:25,571 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [96525310] [2022-04-15 15:37:25,571 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [96525310] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:25,571 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:25,571 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:37:25,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1410037608] [2022-04-15 15:37:25,572 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:25,576 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:37:25,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:25,580 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:25,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:25,604 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:37:25,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:25,622 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:37:25,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:37:25,625 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:25,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:25,766 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 15:37:25,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:37:25,767 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:37:25,767 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:25,768 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:25,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:37:25,777 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:25,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:37:25,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 15:37:25,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:25,965 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:37:25,966 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 15:37:25,968 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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-15 15:37:25,971 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:25,972 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:37:25,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 15:37:26,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 15:37:26,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:26,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,003 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,003 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,008 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:37:26,008 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:26,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:37:26,010 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:37:26,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,014 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:37:26,015 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:26,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:26,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:26,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 15:37:26,021 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 15:37:26,021 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:26,021 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 15:37:26,021 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:37:26,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 15:37:26,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:26,076 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:37:26,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:37:26,077 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:26,077 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:26,077 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:37:26,077 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:26,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:26,078 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 15:37:26,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:26,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1550153967] [2022-04-15 15:37:26,079 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:26,079 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 15:37:26,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:26,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1961181304] [2022-04-15 15:37:26,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:26,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:26,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:26,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,161 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:37:26,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,162 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:37:26,162 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:26,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:37:26,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:26,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:37:26,173 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:26,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:37:26,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:26,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:37:26,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:37:26,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 15:37:26,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#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; {331#true} is VALID [2022-04-15 15:37:26,181 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:26,181 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,181 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,182 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:37:26,182 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 15:37:26,182 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:26,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,183 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:37:26,184 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 15:37:26,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:37:26,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:37:26,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:37:26,184 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:37:26,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:37:26,185 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:37:26,186 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:37:26,187 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:37:26,187 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 15:37:26,187 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 15:37:26,188 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:26,188 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:26,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1961181304] [2022-04-15 15:37:26,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1961181304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:26,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:26,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:26,189 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:26,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1550153967] [2022-04-15 15:37:26,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1550153967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:26,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:26,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:26,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [36762295] [2022-04-15 15:37:26,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:26,191 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:37:26,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:26,191 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:26,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:26,213 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:26,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:26,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:26,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:37:26,214 INFO L87 Difference]: Start difference. First operand 33 states and 43 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:26,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,699 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 15:37:26,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:37:26,699 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:37:26,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:26,700 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:26,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:26,703 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:26,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:26,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:37:26,770 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-15 15:37:26,772 INFO L225 Difference]: With dead ends: 46 [2022-04-15 15:37:26,772 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 15:37:26,772 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:37:26,774 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:26,774 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:37:26,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 15:37:26,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 15:37:26,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:26,782 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,782 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,783 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,786 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:37:26,786 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:37:26,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,787 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:37:26,787 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:37:26,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,790 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:37:26,790 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:37:26,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:26,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:26,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:26,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 15:37:26,794 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 15:37:26,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:26,794 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 15:37:26,795 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:37:26,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 15:37:26,846 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-15 15:37:26,847 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 15:37:26,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:37:26,848 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:26,848 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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-15 15:37:26,848 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 15:37:26,848 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:26,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:26,849 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 15:37:26,849 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:26,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1753626412] [2022-04-15 15:37:26,849 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:26,849 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 15:37:26,850 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:26,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1175100714] [2022-04-15 15:37:26,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:26,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:26,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:37:26,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:37:26,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,925 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:37:26,925 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:37:26,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:37:26,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:37:26,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,936 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:37:26,936 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:37:26,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:37:26,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 15:37:26,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,961 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,962 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:26,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:37:26,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:37:26,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:37:26,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 15:37:26,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#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; {616#true} is VALID [2022-04-15 15:37:26,965 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:26,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,965 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:37:26,965 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 15:37:26,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:26,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,966 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:37:26,966 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:26,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,967 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:37:26,969 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:26,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:26,978 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-15 15:37:26,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:37:26,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:37:26,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:37:26,979 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:37:26,981 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= 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)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:37:26,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:37:26,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 15:37:26,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 15:37:26,982 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:37:26,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:26,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1175100714] [2022-04-15 15:37:26,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1175100714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:26,983 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:26,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:26,983 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:26,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1753626412] [2022-04-15 15:37:26,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1753626412] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:26,984 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:26,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:26,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1571130212] [2022-04-15 15:37:26,984 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:26,984 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, (7), 3 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 33 [2022-04-15 15:37:26,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:26,985 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, (7), 3 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-15 15:37:27,014 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:27,014 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:27,014 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:27,015 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:27,015 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:37:27,015 INFO L87 Difference]: Start difference. First operand 37 states and 46 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, (7), 3 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-15 15:37:27,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:27,510 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 15:37:27,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:37:27,511 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, (7), 3 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 33 [2022-04-15 15:37:27,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:27,511 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, (7), 3 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-15 15:37:27,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:27,514 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, (7), 3 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-15 15:37:27,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:37:27,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:37:27,580 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-15 15:37:27,582 INFO L225 Difference]: With dead ends: 50 [2022-04-15 15:37:27,582 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 15:37:27,583 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 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-15 15:37:27,584 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:27,584 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:37:27,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 15:37:27,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 15:37:27,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:27,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:27,601 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:27,602 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:27,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:27,605 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:37:27,605 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:37:27,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:27,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:27,606 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:37:27,607 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:37:27,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:27,609 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:37:27,609 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:37:27,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:27,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:27,610 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:27,610 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:27,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:37:27,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 15:37:27,612 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 15:37:27,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:27,613 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 15:37:27,613 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 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-15 15:37:27,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 15:37:27,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:27,675 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 15:37:27,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 15:37:27,676 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:27,676 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:27,676 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 15:37:27,677 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:27,677 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:27,677 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 15:37:27,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:27,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1902510830] [2022-04-15 15:37:27,678 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:27,678 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 15:37:27,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:27,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1274579652] [2022-04-15 15:37:27,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:27,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:27,693 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:27,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [925243585] [2022-04-15 15:37:27,694 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:27,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:27,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:27,699 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-15 15:37:27,738 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-15 15:37:27,754 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:27,754 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:27,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:37:27,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:27,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:27,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 15:37:27,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#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); {929#true} is VALID [2022-04-15 15:37:27,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:27,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 15:37:27,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 15:37:27,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#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; {929#true} is VALID [2022-04-15 15:37:27,994 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:27,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:27,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:27,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:27,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 15:37:27,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 15:37:27,995 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:27,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:27,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:27,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:27,995 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {929#true} #83#return; {929#true} is VALID [2022-04-15 15:37:27,995 INFO L272 TraceCheckUtils]: 17: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:27,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:27,996 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:27,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:27,996 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {929#true} #85#return; {929#true} is VALID [2022-04-15 15:37:27,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {929#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:27,997 INFO L290 TraceCheckUtils]: 23: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:27,997 INFO L272 TraceCheckUtils]: 24: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-15 15:37:27,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:27,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:27,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:27,999 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:27,999 INFO L272 TraceCheckUtils]: 29: Hoare triple {1000#(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)); {929#true} is VALID [2022-04-15 15:37:27,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:37:27,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:37:27,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:37:28,000 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:28,001 INFO L272 TraceCheckUtils]: 34: Hoare triple {1000#(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)); {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:28,001 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:28,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {1041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 15:37:28,002 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 15:37:28,002 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 15:37:28,002 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:37:28,002 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:28,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1274579652] [2022-04-15 15:37:28,003 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:28,003 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [925243585] [2022-04-15 15:37:28,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [925243585] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,003 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:28,004 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:28,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1902510830] [2022-04-15 15:37:28,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1902510830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:28,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:28,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:28,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072889514] [2022-04-15 15:37:28,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:28,005 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 15:37:28,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:28,006 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:37:28,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,039 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:37:28,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,039 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:37:28,039 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:37:28,040 INFO L87 Difference]: Start difference. First operand 41 states and 49 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:37:28,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,269 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 15:37:28,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:28,269 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-15 15:37:28,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:28,270 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:37:28,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 15:37:28,272 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:37:28,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-15 15:37:28,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-15 15:37:28,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,370 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:37:28,370 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 15:37:28,370 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 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-15 15:37:28,373 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:28,374 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 145 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:37:28,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 15:37:28,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 15:37:28,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:28,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:28,397 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:28,397 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:28,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,402 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:37:28,403 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:28,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:37:28,409 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:37:28,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:28,413 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:37:28,413 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:28,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:28,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:28,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:28,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:28,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:37:28,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 15:37:28,418 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 15:37:28,418 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:28,418 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 15:37:28,419 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 15:37:28,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 15:37:28,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:28,506 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:37:28,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 15:37:28,507 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:28,508 INFO L499 BasicCegarLoop]: trace histogram [4, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:28,528 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-15 15:37:28,723 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:28,724 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:28,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:28,724 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 15:37:28,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:28,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [983362422] [2022-04-15 15:37:28,725 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:28,725 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 15:37:28,725 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:28,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [557220866] [2022-04-15 15:37:28,725 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:28,725 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:28,740 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:28,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [978312423] [2022-04-15 15:37:28,740 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:28,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:28,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:28,742 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-15 15:37:28,751 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-15 15:37:28,791 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:28,792 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:28,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:37:28,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:28,819 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:30,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-15 15:37:30,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#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); {1407#true} is VALID [2022-04-15 15:37:30,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-15 15:37:30,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-15 15:37:30,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#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; {1407#true} is VALID [2022-04-15 15:37:30,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,178 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-15 15:37:30,181 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-15 15:37:30,182 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,182 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:30,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:30,184 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} {1407#true} #83#return; {1462#(<= (mod main_~B~0 4294967296) 100)} is VALID [2022-04-15 15:37:30,184 INFO L272 TraceCheckUtils]: 17: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 100)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,185 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,185 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1462#(<= (mod main_~B~0 4294967296) 100)} #85#return; {1462#(<= (mod main_~B~0 4294967296) 100)} is VALID [2022-04-15 15:37:30,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 100)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !false; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,186 INFO L272 TraceCheckUtils]: 24: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,187 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,187 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,191 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #87#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,191 INFO L272 TraceCheckUtils]: 29: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,192 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #89#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,193 INFO L272 TraceCheckUtils]: 34: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,193 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,193 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,193 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,198 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #91#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !(~r~0 >= ~d~0); {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,200 INFO L290 TraceCheckUtils]: 40: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !false; {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-15 15:37:30,200 INFO L272 TraceCheckUtils]: 41: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:30,201 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:30,201 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-15 15:37:30,201 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-15 15:37:30,202 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 15:37:30,202 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:30,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-15 15:37:30,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-15 15:37:30,641 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:30,642 INFO L272 TraceCheckUtils]: 41: Hoare triple {1560#(= (+ 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)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:30,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:30,643 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#(or (= (+ 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); {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:30,644 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1567#(or (= (+ 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-15 15:37:30,644 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,644 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,644 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,644 INFO L272 TraceCheckUtils]: 34: Hoare triple {1567#(or (= (+ 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)); {1407#true} is VALID [2022-04-15 15:37:30,646 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1567#(or (= (+ 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-15 15:37:30,646 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,646 INFO L272 TraceCheckUtils]: 29: Hoare triple {1567#(or (= (+ 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)); {1407#true} is VALID [2022-04-15 15:37:30,647 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1567#(or (= (+ 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-15 15:37:30,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,647 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,648 INFO L272 TraceCheckUtils]: 24: Hoare triple {1567#(or (= (+ 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)); {1407#true} is VALID [2022-04-15 15:37:30,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1567#(or (= (+ 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-15 15:37:30,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {1407#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1567#(or (= (+ 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-15 15:37:30,650 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1407#true} #85#return; {1407#true} is VALID [2022-04-15 15:37:30,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,650 INFO L272 TraceCheckUtils]: 17: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,650 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1407#true} {1407#true} #83#return; {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-15 15:37:30,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#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; {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-15 15:37:30,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-15 15:37:30,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-15 15:37:30,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#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); {1407#true} is VALID [2022-04-15 15:37:30,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-15 15:37:30,653 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 15:37:30,653 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:30,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [557220866] [2022-04-15 15:37:30,654 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:30,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [978312423] [2022-04-15 15:37:30,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [978312423] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:37:30,654 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:37:30,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-15 15:37:30,654 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:30,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [983362422] [2022-04-15 15:37:30,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [983362422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:30,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:30,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:37:30,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1032701502] [2022-04-15 15:37:30,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:30,655 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 15:37:30,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:30,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:30,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:30,685 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:37:30,686 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:30,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:37:30,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:37:30,686 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:30,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:30,955 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-15 15:37:30,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:30,955 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 15:37:30,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:30,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:30,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:30,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:30,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:30,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:37:31,016 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-15 15:37:31,019 INFO L225 Difference]: With dead ends: 68 [2022-04-15 15:37:31,019 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 15:37:31,019 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:31,020 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:31,021 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:37:31,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 15:37:31,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-15 15:37:31,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:31,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:31,047 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:31,048 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:31,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:31,050 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:37:31,050 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:37:31,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:31,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:31,052 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 15:37:31,052 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 15:37:31,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:31,055 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 15:37:31,055 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 15:37:31,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:31,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:31,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:31,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:31,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:31,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-15 15:37:31,058 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-15 15:37:31,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:31,059 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-15 15:37:31,059 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:31,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-15 15:37:31,157 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-15 15:37:31,157 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-15 15:37:31,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 15:37:31,158 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:31,158 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 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-15 15:37:31,176 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-15 15:37:31,367 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:31,367 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:31,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:31,368 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 15:37:31,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:31,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1390013720] [2022-04-15 15:37:31,368 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:31,369 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 15:37:31,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:31,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [612536754] [2022-04-15 15:37:31,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:31,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:31,383 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:31,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [778030451] [2022-04-15 15:37:31,383 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:31,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:31,383 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:31,384 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-15 15:37:31,405 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-15 15:37:31,440 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:31,440 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:31,441 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 15:37:31,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:31,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:32,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#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); {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#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; {2085#true} is VALID [2022-04-15 15:37:32,279 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,281 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-15 15:37:32,281 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:32,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:32,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:32,285 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} {2085#true} #85#return; {2155#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-15 15:37:32,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:32,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:32,286 INFO L272 TraceCheckUtils]: 24: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-15 15:37:32,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,299 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:32,299 INFO L272 TraceCheckUtils]: 29: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-15 15:37:32,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,299 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,300 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:32,300 INFO L272 TraceCheckUtils]: 34: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-15 15:37:32,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,301 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:32,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {2159#(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; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,303 INFO L272 TraceCheckUtils]: 41: Hoare triple {2211#(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)); {2085#true} is VALID [2022-04-15 15:37:32,303 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,304 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,304 INFO L272 TraceCheckUtils]: 46: Hoare triple {2211#(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)); {2085#true} is VALID [2022-04-15 15:37:32,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,304 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,305 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,306 INFO L272 TraceCheckUtils]: 51: Hoare triple {2211#(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)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:32,306 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:32,307 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-15 15:37:32,307 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-15 15:37:32,307 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 15:37:32,307 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:32,707 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-15 15:37:32,707 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-15 15:37:32,708 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:32,708 INFO L272 TraceCheckUtils]: 51: Hoare triple {2268#(= 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)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:32,709 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,709 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,710 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,710 INFO L272 TraceCheckUtils]: 46: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,713 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,713 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,713 INFO L272 TraceCheckUtils]: 41: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,765 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#(= 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; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,766 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,766 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,766 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,766 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,766 INFO L272 TraceCheckUtils]: 34: Hoare triple {2268#(= 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)); {2085#true} is VALID [2022-04-15 15:37:32,766 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,767 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,767 INFO L272 TraceCheckUtils]: 29: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,767 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,768 INFO L272 TraceCheckUtils]: 24: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 22: Hoare triple {2085#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:32,769 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2085#true} {2085#true} #85#return; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,769 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#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; {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-15 15:37:32,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-15 15:37:32,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-15 15:37:32,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#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); {2085#true} is VALID [2022-04-15 15:37:32,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-15 15:37:32,771 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-15 15:37:32,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:32,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [612536754] [2022-04-15 15:37:32,771 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:32,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [778030451] [2022-04-15 15:37:32,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [778030451] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:37:32,772 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:37:32,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-15 15:37:32,772 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:32,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1390013720] [2022-04-15 15:37:32,772 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1390013720] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:32,772 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:32,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:32,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1787340466] [2022-04-15 15:37:32,773 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:32,773 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:37:32,773 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:32,774 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:32,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:32,804 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:37:32,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:32,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:37:32,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:37:32,805 INFO L87 Difference]: Start difference. First operand 64 states and 80 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,223 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 15:37:33,223 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:33,223 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:37:33,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:33,224 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:37:33,225 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:37:33,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 15:37:33,276 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-15 15:37:33,278 INFO L225 Difference]: With dead ends: 76 [2022-04-15 15:37:33,278 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 15:37:33,279 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 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-15 15:37:33,279 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:33,280 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:37:33,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 15:37:33,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-15 15:37:33,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:33,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:33,303 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:33,303 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:33,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,306 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:37:33,306 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:37:33,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:33,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:33,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 15:37:33,307 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 15:37:33,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:33,310 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 15:37:33,310 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 15:37:33,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:33,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:33,310 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:33,310 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:33,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 15:37:33,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-15 15:37:33,313 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-15 15:37:33,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:33,314 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-15 15:37:33,314 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:37:33,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-15 15:37:33,422 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-15 15:37:33,423 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-15 15:37:33,423 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 15:37:33,423 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:33,424 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 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, 1, 1, 1, 1, 1] [2022-04-15 15:37:33,447 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-15 15:37:33,624 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:33,624 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:33,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:33,625 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-15 15:37:33,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:33,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116804678] [2022-04-15 15:37:33,625 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:33,625 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-15 15:37:33,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:33,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [197048554] [2022-04-15 15:37:33,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:33,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:33,643 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:33,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [78172636] [2022-04-15 15:37:33,643 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:33,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:33,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:33,653 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-15 15:37:33,655 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-15 15:37:33,701 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:33,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:33,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 15:37:33,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:33,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:33,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {2868#true} call ULTIMATE.init(); {2868#true} is VALID [2022-04-15 15:37:33,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {2868#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); {2868#true} is VALID [2022-04-15 15:37:33,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2868#true} {2868#true} #101#return; {2868#true} is VALID [2022-04-15 15:37:33,938 INFO L272 TraceCheckUtils]: 4: Hoare triple {2868#true} call #t~ret6 := main(); {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {2868#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; {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {2868#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2868#true} {2868#true} #81#return; {2868#true} is VALID [2022-04-15 15:37:33,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {2868#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L272 TraceCheckUtils]: 12: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L290 TraceCheckUtils]: 13: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L290 TraceCheckUtils]: 14: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L290 TraceCheckUtils]: 15: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2868#true} {2868#true} #83#return; {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L272 TraceCheckUtils]: 17: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:37:33,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,941 INFO L290 TraceCheckUtils]: 19: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,941 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2868#true} {2868#true} #85#return; {2868#true} is VALID [2022-04-15 15:37:33,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {2868#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,942 INFO L290 TraceCheckUtils]: 23: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,942 INFO L272 TraceCheckUtils]: 24: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2868#true} is VALID [2022-04-15 15:37:33,942 INFO L290 TraceCheckUtils]: 25: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,942 INFO L290 TraceCheckUtils]: 26: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,943 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,943 INFO L272 TraceCheckUtils]: 29: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-15 15:37:33,943 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,944 INFO L290 TraceCheckUtils]: 31: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,944 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,944 INFO L272 TraceCheckUtils]: 34: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-15 15:37:33,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,945 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,945 INFO L290 TraceCheckUtils]: 37: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,946 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,946 INFO L290 TraceCheckUtils]: 39: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,947 INFO L272 TraceCheckUtils]: 41: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-15 15:37:33,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,947 INFO L290 TraceCheckUtils]: 44: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,948 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,948 INFO L272 TraceCheckUtils]: 46: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-15 15:37:33,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-15 15:37:33,948 INFO L290 TraceCheckUtils]: 48: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-15 15:37:33,948 INFO L290 TraceCheckUtils]: 49: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-15 15:37:33,949 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,950 INFO L290 TraceCheckUtils]: 51: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:37:33,951 INFO L272 TraceCheckUtils]: 52: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:33,951 INFO L290 TraceCheckUtils]: 53: Hoare triple {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:33,951 INFO L290 TraceCheckUtils]: 54: Hoare triple {3034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2869#false} is VALID [2022-04-15 15:37:33,952 INFO L290 TraceCheckUtils]: 55: Hoare triple {2869#false} assume !false; {2869#false} is VALID [2022-04-15 15:37:33,952 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 15:37:33,952 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:37:33,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:33,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [197048554] [2022-04-15 15:37:33,952 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:33,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [78172636] [2022-04-15 15:37:33,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [78172636] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:33,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:33,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:33,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:33,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116804678] [2022-04-15 15:37:33,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116804678] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:33,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:33,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:37:33,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [276675674] [2022-04-15 15:37:33,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:33,954 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 15:37:33,954 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:33,954 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:33,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:33,996 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:37:33,996 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:33,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:37:33,997 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 15:37:33,997 INFO L87 Difference]: Start difference. First operand 71 states and 88 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:34,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:34,252 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-15 15:37:34,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:37:34,252 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 15:37:34,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:34,253 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:34,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:34,254 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:34,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 15:37:34,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 15:37:34,302 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-15 15:37:34,303 INFO L225 Difference]: With dead ends: 79 [2022-04-15 15:37:34,303 INFO L226 Difference]: Without dead ends: 72 [2022-04-15 15:37:34,304 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 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-15 15:37:34,304 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:34,305 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:37:34,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-15 15:37:34,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-15 15:37:34,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:34,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:34,348 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:34,348 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:34,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:34,351 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:37:34,351 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:37:34,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:34,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:34,352 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 15:37:34,352 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 15:37:34,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:34,355 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 15:37:34,355 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 15:37:34,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:34,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:34,355 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:34,355 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:34,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 15:37:34,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-15 15:37:34,358 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-15 15:37:34,358 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:34,358 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-15 15:37:34,358 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 15:37:34,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-15 15:37:34,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:34,470 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-15 15:37:34,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 15:37:34,470 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:34,470 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 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] [2022-04-15 15:37:34,487 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-15 15:37:34,675 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:34,675 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:34,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:34,676 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 15:37:34,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:34,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1481844699] [2022-04-15 15:37:34,676 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:34,676 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 15:37:34,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:34,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1512609914] [2022-04-15 15:37:34,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:34,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:34,689 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:34,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [434709819] [2022-04-15 15:37:34,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:34,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:34,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:34,690 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-15 15:37:34,703 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-15 15:37:34,784 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:34,784 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:34,785 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-15 15:37:34,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:34,802 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:39,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-15 15:37:39,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#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); {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#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; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-15 15:37:39,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-15 15:37:39,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3557#(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-15 15:37:39,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {3557#(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 !false; {3557#(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-15 15:37:39,293 INFO L272 TraceCheckUtils]: 24: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-15 15:37:39,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,294 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,294 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3557#(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))} #87#return; {3557#(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-15 15:37:39,294 INFO L272 TraceCheckUtils]: 29: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-15 15:37:39,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,295 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,307 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3557#(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))} #89#return; {3557#(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-15 15:37:39,307 INFO L272 TraceCheckUtils]: 34: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-15 15:37:39,307 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,307 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,307 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,308 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3557#(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))} #91#return; {3557#(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-15 15:37:39,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {3557#(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; {3609#(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-15 15:37:39,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {3609#(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 !false; {3609#(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-15 15:37:39,309 INFO L272 TraceCheckUtils]: 41: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-15 15:37:39,309 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,310 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,310 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,310 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3609#(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))} #87#return; {3609#(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-15 15:37:39,310 INFO L272 TraceCheckUtils]: 46: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-15 15:37:39,310 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,311 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,311 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3609#(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))} #89#return; {3609#(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-15 15:37:39,311 INFO L272 TraceCheckUtils]: 51: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-15 15:37:39,311 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,311 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,311 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,312 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3609#(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))} #91#return; {3609#(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-15 15:37:39,312 INFO L290 TraceCheckUtils]: 56: Hoare triple {3609#(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); {3661#(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-15 15:37:39,313 INFO L290 TraceCheckUtils]: 57: Hoare triple {3661#(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 !false; {3661#(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-15 15:37:39,313 INFO L272 TraceCheckUtils]: 58: Hoare triple {3661#(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)); {3486#true} is VALID [2022-04-15 15:37:39,313 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,313 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,313 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,314 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3661#(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))} #93#return; {3661#(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-15 15:37:39,314 INFO L272 TraceCheckUtils]: 63: Hoare triple {3661#(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)); {3486#true} is VALID [2022-04-15 15:37:39,314 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:39,314 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:39,314 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:39,315 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3661#(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))} #95#return; {3661#(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-15 15:37:39,316 INFO L290 TraceCheckUtils]: 68: Hoare triple {3661#(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); {3698#(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-15 15:37:39,317 INFO L290 TraceCheckUtils]: 69: Hoare triple {3698#(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; {3702#(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-15 15:37:39,318 INFO L290 TraceCheckUtils]: 70: Hoare triple {3702#(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 !false; {3702#(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-15 15:37:39,318 INFO L272 TraceCheckUtils]: 71: Hoare triple {3702#(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)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:39,319 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:39,319 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-15 15:37:39,319 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-15 15:37:39,320 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 15:37:39,320 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:45,987 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-15 15:37:45,994 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-15 15:37:45,995 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:45,996 INFO L272 TraceCheckUtils]: 71: Hoare triple {3729#(= (+ 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)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:45,996 INFO L290 TraceCheckUtils]: 70: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:45,999 INFO L290 TraceCheckUtils]: 69: Hoare triple {3736#(= (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; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:46,013 INFO L290 TraceCheckUtils]: 68: Hoare triple {3740#(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); {3736#(= (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-15 15:37:46,014 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3740#(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)))))} #95#return; {3740#(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-15 15:37:46,014 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,014 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,014 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,014 INFO L272 TraceCheckUtils]: 63: Hoare triple {3740#(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)); {3486#true} is VALID [2022-04-15 15:37:46,015 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3740#(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)))))} #93#return; {3740#(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-15 15:37:46,015 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,015 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,015 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,015 INFO L272 TraceCheckUtils]: 58: Hoare triple {3740#(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)); {3486#true} is VALID [2022-04-15 15:37:46,016 INFO L290 TraceCheckUtils]: 57: Hoare triple {3740#(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 !false; {3740#(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-15 15:37:46,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {3777#(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); {3740#(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-15 15:37:46,018 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3777#(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))} #91#return; {3777#(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-15 15:37:46,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,018 INFO L272 TraceCheckUtils]: 51: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-15 15:37:46,019 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3777#(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))} #89#return; {3777#(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-15 15:37:46,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,019 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,019 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,019 INFO L272 TraceCheckUtils]: 46: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-15 15:37:46,020 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3777#(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))} #87#return; {3777#(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-15 15:37:46,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,020 INFO L272 TraceCheckUtils]: 41: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-15 15:37:46,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {3777#(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 !false; {3777#(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-15 15:37:46,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {3829#(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; {3777#(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-15 15:37:46,025 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3829#(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))} #91#return; {3829#(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-15 15:37:46,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,025 INFO L272 TraceCheckUtils]: 34: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-15 15:37:46,026 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3829#(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))} #89#return; {3829#(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-15 15:37:46,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,027 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,027 INFO L272 TraceCheckUtils]: 29: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-15 15:37:46,027 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3829#(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))} #87#return; {3829#(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-15 15:37:46,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,028 INFO L272 TraceCheckUtils]: 24: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-15 15:37:46,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {3829#(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 !false; {3829#(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-15 15:37:46,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3829#(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-15 15:37:46,030 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-15 15:37:46,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,030 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-15 15:37:46,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#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; {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#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); {3486#true} is VALID [2022-04-15 15:37:46,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-15 15:37:46,033 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 15:37:46,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:46,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1512609914] [2022-04-15 15:37:46,033 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:46,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [434709819] [2022-04-15 15:37:46,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [434709819] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:46,034 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:46,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 15:37:46,034 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:46,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1481844699] [2022-04-15 15:37:46,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1481844699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:46,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:46,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:37:46,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270747669] [2022-04-15 15:37:46,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:46,035 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-15 15:37:46,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:46,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:37:46,086 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-15 15:37:46,087 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:37:46,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:46,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:37:46,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:37:46,087 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:37:47,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:47,210 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-15 15:37:47,211 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:37:47,211 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-15 15:37:47,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:47,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:37:47,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-15 15:37:47,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:37:47,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-15 15:37:47,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-04-15 15:37:47,314 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:47,317 INFO L225 Difference]: With dead ends: 135 [2022-04-15 15:37:47,317 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 15:37:47,317 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:37:47,318 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 10 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:47,318 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 211 Invalid, 237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 15:37:47,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 15:37:47,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-15 15:37:47,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:47,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:47,381 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:47,381 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:47,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:47,385 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:47,385 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:47,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:47,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:47,386 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 15:37:47,386 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 15:37:47,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:47,390 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 15:37:47,390 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 15:37:47,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:47,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:47,390 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:47,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:47,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:47,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-15 15:37:47,394 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-15 15:37:47,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:47,395 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-15 15:37:47,395 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:37:47,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-15 15:37:47,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:47,544 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-15 15:37:47,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 15:37:47,544 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:47,544 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 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-15 15:37:47,560 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 15:37:47,747 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:47,747 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:47,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:47,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 15:37:47,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:47,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1730398347] [2022-04-15 15:37:47,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:47,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 15:37:47,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:47,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2131004876] [2022-04-15 15:37:47,748 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:47,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:47,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:47,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [339932265] [2022-04-15 15:37:47,761 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:37:47,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:47,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:47,762 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-15 15:37:47,763 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-15 15:37:47,828 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:37:47,829 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:47,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:37:47,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:47,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:48,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-15 15:37:48,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#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); {4649#true} is VALID [2022-04-15 15:37:48,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-15 15:37:48,632 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#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; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,634 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-15 15:37:48,635 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,635 INFO L272 TraceCheckUtils]: 24: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,635 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,635 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,636 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,636 INFO L272 TraceCheckUtils]: 29: Hoare triple {4720#(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)); {4649#true} is VALID [2022-04-15 15:37:48,636 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,637 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,637 INFO L272 TraceCheckUtils]: 34: Hoare triple {4720#(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)); {4649#true} is VALID [2022-04-15 15:37:48,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,637 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,637 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,638 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,638 INFO L290 TraceCheckUtils]: 39: Hoare triple {4720#(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; {4772#(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-15 15:37:48,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4772#(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-15 15:37:48,639 INFO L272 TraceCheckUtils]: 41: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-15 15:37:48,639 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,639 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,639 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,640 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4772#(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-15 15:37:48,640 INFO L272 TraceCheckUtils]: 46: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-15 15:37:48,640 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,640 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,640 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,640 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4772#(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-15 15:37:48,641 INFO L272 TraceCheckUtils]: 51: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-15 15:37:48,641 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,641 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,641 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,641 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4772#(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-15 15:37:48,642 INFO L290 TraceCheckUtils]: 56: Hoare triple {4772#(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); {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:48,642 INFO L290 TraceCheckUtils]: 57: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:48,643 INFO L272 TraceCheckUtils]: 58: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,643 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,643 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,644 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:48,644 INFO L272 TraceCheckUtils]: 63: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,644 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,644 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,644 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,645 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:48,645 INFO L290 TraceCheckUtils]: 68: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,646 INFO L290 TraceCheckUtils]: 70: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,646 INFO L272 TraceCheckUtils]: 71: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:48,647 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:48,647 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:48,647 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:48,649 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:48,649 INFO L272 TraceCheckUtils]: 76: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:48,650 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:48,650 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-15 15:37:48,650 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-15 15:37:48,650 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 15:37:48,651 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:55,825 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-15 15:37:55,826 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-15 15:37:55,826 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:55,827 INFO L272 TraceCheckUtils]: 76: Hoare triple {4906#(= 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)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:55,827 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:55,827 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,828 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,828 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,828 INFO L272 TraceCheckUtils]: 71: Hoare triple {4906#(= 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)); {4649#true} is VALID [2022-04-15 15:37:55,828 INFO L290 TraceCheckUtils]: 70: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:55,828 INFO L290 TraceCheckUtils]: 69: Hoare triple {4906#(= 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; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:55,838 INFO L290 TraceCheckUtils]: 68: Hoare triple {4931#(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); {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:55,839 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4931#(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))))))} #95#return; {4931#(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-15 15:37:55,839 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,839 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,839 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,839 INFO L272 TraceCheckUtils]: 63: Hoare triple {4931#(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)); {4649#true} is VALID [2022-04-15 15:37:55,840 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4931#(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))))))} #93#return; {4931#(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-15 15:37:55,840 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,840 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,840 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,840 INFO L272 TraceCheckUtils]: 58: Hoare triple {4931#(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)); {4649#true} is VALID [2022-04-15 15:37:55,841 INFO L290 TraceCheckUtils]: 57: Hoare triple {4931#(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 !false; {4931#(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-15 15:37:55,842 INFO L290 TraceCheckUtils]: 56: Hoare triple {4968#(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); {4931#(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-15 15:37:55,842 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4968#(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))} #91#return; {4968#(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-15 15:37:55,843 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,843 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,843 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,843 INFO L272 TraceCheckUtils]: 51: Hoare triple {4968#(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)); {4649#true} is VALID [2022-04-15 15:37:55,843 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4968#(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))} #89#return; {4968#(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-15 15:37:55,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,843 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,844 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,844 INFO L272 TraceCheckUtils]: 46: Hoare triple {4968#(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)); {4649#true} is VALID [2022-04-15 15:37:55,845 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4968#(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))} #87#return; {4968#(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-15 15:37:55,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,845 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,845 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,845 INFO L272 TraceCheckUtils]: 41: Hoare triple {4968#(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)); {4649#true} is VALID [2022-04-15 15:37:55,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {4968#(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 !false; {4968#(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-15 15:37:55,850 INFO L290 TraceCheckUtils]: 39: Hoare triple {5020#(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; {4968#(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-15 15:37:55,850 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5020#(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-15 15:37:55,850 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,850 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,850 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,850 INFO L272 TraceCheckUtils]: 34: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-15 15:37:55,859 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5020#(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-15 15:37:55,860 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,860 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,860 INFO L272 TraceCheckUtils]: 29: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-15 15:37:55,860 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5020#(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-15 15:37:55,861 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,861 INFO L272 TraceCheckUtils]: 24: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-15 15:37:55,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5020#(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-15 15:37:55,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5020#(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-15 15:37:55,862 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-15 15:37:55,862 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,862 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,862 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,862 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:55,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-15 15:37:55,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#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; {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#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); {4649#true} is VALID [2022-04-15 15:37:55,864 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-15 15:37:55,865 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 15:37:55,865 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:55,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2131004876] [2022-04-15 15:37:55,865 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:55,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [339932265] [2022-04-15 15:37:55,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [339932265] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:55,866 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:55,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 15:37:55,866 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:55,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1730398347] [2022-04-15 15:37:55,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1730398347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:55,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:55,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:37:55,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [727098803] [2022-04-15 15:37:55,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:55,867 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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 80 [2022-04-15 15:37:55,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:55,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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-15 15:37:55,912 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-15 15:37:55,913 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:37:55,913 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:55,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:37:55,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:55,914 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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-15 15:37:56,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:56,746 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-15 15:37:56,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:37:56,747 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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 80 [2022-04-15 15:37:56,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:56,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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-15 15:37:56,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-15 15:37:56,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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-15 15:37:56,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-15 15:37:56,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2022-04-15 15:37:56,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:56,840 INFO L225 Difference]: With dead ends: 133 [2022-04-15 15:37:56,840 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 15:37:56,840 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:37:56,841 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 10 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 251 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:56,841 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 251 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 15:37:56,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 15:37:56,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-15 15:37:56,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:56,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:56,908 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:56,909 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:56,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:56,913 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:37:56,913 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:56,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:56,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:56,914 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 15:37:56,915 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 15:37:56,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:56,918 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 15:37:56,919 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:56,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:56,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:56,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:56,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:56,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 15:37:56,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-15 15:37:56,923 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-15 15:37:56,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:56,923 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-15 15:37:56,924 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 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-15 15:37:56,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-15 15:37:57,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:57,074 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 15:37:57,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:37:57,074 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:57,075 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 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-15 15:37:57,091 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-15 15:37:57,279 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:57,279 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:57,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:57,280 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 15:37:57,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:57,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2012075368] [2022-04-15 15:37:57,280 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:57,280 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 15:37:57,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:57,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [761562252] [2022-04-15 15:37:57,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:57,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:57,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:57,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [101191851] [2022-04-15 15:37:57,303 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:57,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:57,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:57,304 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-15 15:37:57,322 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-15 15:37:57,365 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:57,365 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:57,366 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-15 15:37:57,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:57,388 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:38:27,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-15 15:38:27,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#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); {5850#true} is VALID [2022-04-15 15:38:27,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-15 15:38:27,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-15 15:38:27,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#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; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,312 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-15 15:38:27,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:38:27,313 INFO L290 TraceCheckUtils]: 23: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} assume !false; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:38:27,313 INFO L272 TraceCheckUtils]: 24: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,315 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #87#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:38:27,315 INFO L272 TraceCheckUtils]: 29: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,315 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,316 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #89#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:38:27,316 INFO L272 TraceCheckUtils]: 34: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,316 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:27,317 INFO L290 TraceCheckUtils]: 36: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:38:27,317 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:38:27,318 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #91#return; {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,319 INFO L290 TraceCheckUtils]: 39: Hoare triple {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= 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; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,320 INFO L290 TraceCheckUtils]: 40: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,320 INFO L272 TraceCheckUtils]: 41: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,320 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,320 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,320 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,321 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,321 INFO L272 TraceCheckUtils]: 46: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,321 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,321 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,322 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,322 INFO L272 TraceCheckUtils]: 51: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,322 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,322 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,322 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,323 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,323 INFO L290 TraceCheckUtils]: 56: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,324 INFO L290 TraceCheckUtils]: 57: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,328 INFO L272 TraceCheckUtils]: 58: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~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)); {5850#true} is VALID [2022-04-15 15:38:27,328 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,328 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,328 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,332 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #93#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,332 INFO L272 TraceCheckUtils]: 63: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,332 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,332 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,333 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,333 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #95#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,335 INFO L290 TraceCheckUtils]: 68: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~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); {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:38:27,337 INFO L290 TraceCheckUtils]: 69: Hoare triple {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~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; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:38:27,337 INFO L290 TraceCheckUtils]: 70: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !false; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:38:27,338 INFO L272 TraceCheckUtils]: 71: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,338 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:27,338 INFO L290 TraceCheckUtils]: 73: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:38:27,339 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:38:27,344 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #93#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-15 15:38:27,345 INFO L272 TraceCheckUtils]: 76: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:38:27,345 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:38:27,345 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:38:27,345 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:38:27,346 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} #95#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-15 15:38:27,346 INFO L290 TraceCheckUtils]: 81: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} assume !(1 != ~p~0); {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} is VALID [2022-04-15 15:38:27,348 INFO L272 TraceCheckUtils]: 82: Hoare triple {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:38:27,348 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:27,349 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-15 15:38:27,349 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-15 15:38:27,349 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-15 15:38:27,350 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:40:35,353 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-15 15:40:35,353 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-15 15:40:35,354 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:40:35,354 INFO L272 TraceCheckUtils]: 82: Hoare triple {6131#(= (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)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:40:35,355 INFO L290 TraceCheckUtils]: 81: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 15:40:35,355 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:40:35,355 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,356 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,356 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,356 INFO L272 TraceCheckUtils]: 76: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,356 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} #93#return; {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:40:35,357 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:40:35,357 INFO L290 TraceCheckUtils]: 73: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:40:35,357 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:40:35,357 INFO L272 TraceCheckUtils]: 71: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,358 INFO L290 TraceCheckUtils]: 70: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} assume !false; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:40:35,363 INFO L290 TraceCheckUtils]: 69: Hoare triple {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:40:35,368 INFO L290 TraceCheckUtils]: 68: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} 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); {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:40:35,368 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} #95#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} is VALID [2022-04-15 15:40:35,368 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,368 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,369 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,369 INFO L272 TraceCheckUtils]: 63: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,374 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} #93#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} is VALID [2022-04-15 15:40:35,374 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,374 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,374 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,374 INFO L272 TraceCheckUtils]: 58: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,375 INFO L290 TraceCheckUtils]: 57: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} assume !false; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} is VALID [2022-04-15 15:40:35,376 INFO L290 TraceCheckUtils]: 56: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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)))))} is VALID [2022-04-15 15:40:35,377 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} #91#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:40:35,377 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,377 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,377 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,377 INFO L272 TraceCheckUtils]: 51: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,378 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} #89#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:40:35,378 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,378 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,378 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,378 INFO L272 TraceCheckUtils]: 46: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,379 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} #87#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:40:35,379 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,379 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,379 INFO L272 TraceCheckUtils]: 41: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} assume !false; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:40:35,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ 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))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ 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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:40:35,383 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:40:35,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:40:35,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:40:35,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:40:35,384 INFO L272 TraceCheckUtils]: 34: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,385 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:40:35,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,385 INFO L272 TraceCheckUtils]: 29: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,386 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:40:35,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,386 INFO L272 TraceCheckUtils]: 24: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:40:35,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:40:35,387 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-15 15:40:35,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#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; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-15 15:40:35,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-15 15:40:35,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#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); {5850#true} is VALID [2022-04-15 15:40:35,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-15 15:40:35,390 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-15 15:40:35,390 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:40:35,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [761562252] [2022-04-15 15:40:35,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:40:35,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [101191851] [2022-04-15 15:40:35,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [101191851] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:40:35,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:40:35,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-15 15:40:35,391 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:40:35,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2012075368] [2022-04-15 15:40:35,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2012075368] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:40:35,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:40:35,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 15:40:35,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [953951444] [2022-04-15 15:40:35,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:40:35,392 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 15:40:35,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:40:35,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:40:35,451 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-15 15:40:35,451 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 15:40:35,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:40:35,452 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 15:40:35,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-15 15:40:35,452 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:40:38,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:40:38,623 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-04-15 15:40:38,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:40:38,623 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 15:40:38,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:40:38,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:40:38,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-15 15:40:38,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:40:38,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-15 15:40:38,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 79 transitions. [2022-04-15 15:40:38,711 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-15 15:40:38,713 INFO L225 Difference]: With dead ends: 116 [2022-04-15 15:40:38,713 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 15:40:38,714 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 7.0s TimeCoverageRelationStatistics Valid=135, Invalid=567, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:40:38,714 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:40:38,715 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 198 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 15:40:38,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 15:40:38,759 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-15 15:40:38,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:40:38,760 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:40:38,760 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:40:38,760 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:40:38,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:40:38,763 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-15 15:40:38,763 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:40:38,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:40:38,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:40:38,764 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-15 15:40:38,764 INFO L87 Difference]: Start difference. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-15 15:40:38,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:40:38,766 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-15 15:40:38,766 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:40:38,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:40:38,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:40:38,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:40:38,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:40:38,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 15:40:38,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 102 transitions. [2022-04-15 15:40:38,770 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 102 transitions. Word has length 86 [2022-04-15 15:40:38,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:40:38,770 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 102 transitions. [2022-04-15 15:40:38,771 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:40:38,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 102 transitions. [2022-04-15 15:40:38,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:40:38,901 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-15 15:40:38,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 15:40:38,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:40:38,902 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 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, 1, 1, 1, 1, 1] [2022-04-15 15:40:38,919 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-15 15:40:39,105 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:40:39,106 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:40:39,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:40:39,106 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-15 15:40:39,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:40:39,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1664994004] [2022-04-15 15:40:39,106 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:40:39,107 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-15 15:40:39,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:40:39,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [831240204] [2022-04-15 15:40:39,107 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:40:39,107 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:40:39,119 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:40:39,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [68892846] [2022-04-15 15:40:39,120 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:40:39,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:40:39,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:40:39,121 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-15 15:40:39,131 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-15 15:40:39,172 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 15:40:39,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:40:39,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 15:40:39,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:40:39,198 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:41:52,919 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:41:53,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-15 15:41:53,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#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); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#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; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-15 15:41:53,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,332 INFO L290 TraceCheckUtils]: 23: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,333 INFO L272 TraceCheckUtils]: 29: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-15 15:41:53,333 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,333 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,333 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,333 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,334 INFO L272 TraceCheckUtils]: 34: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-15 15:41:53,334 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,334 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,335 INFO L290 TraceCheckUtils]: 40: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,335 INFO L272 TraceCheckUtils]: 41: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,335 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,336 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,336 INFO L272 TraceCheckUtils]: 46: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-15 15:41:53,336 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,336 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,336 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,337 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,337 INFO L272 TraceCheckUtils]: 51: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-15 15:41:53,337 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,337 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,337 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,337 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,338 INFO L290 TraceCheckUtils]: 56: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,339 INFO L290 TraceCheckUtils]: 57: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,339 INFO L272 TraceCheckUtils]: 58: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,339 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,339 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,339 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,340 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,340 INFO L272 TraceCheckUtils]: 63: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,340 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,340 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,340 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,340 INFO L272 TraceCheckUtils]: 68: Hoare triple {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,341 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:53,341 INFO L290 TraceCheckUtils]: 70: Hoare triple {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:53,341 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:41:53,342 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7154#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,342 INFO L290 TraceCheckUtils]: 73: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,343 INFO L290 TraceCheckUtils]: 74: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,343 INFO L272 TraceCheckUtils]: 75: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,343 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,343 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,343 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,344 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,344 INFO L272 TraceCheckUtils]: 80: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:41:53,344 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:41:53,344 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:41:53,344 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:41:53,345 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:41:53,349 INFO L290 TraceCheckUtils]: 85: Hoare triple {7205#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-15 15:41:53,351 INFO L290 TraceCheckUtils]: 86: Hoare triple {7245#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:53,351 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:41:53,352 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:41:53,352 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:41:53,352 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-15 15:41:53,352 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-15 15:41:53,353 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:41:53,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:42:54,330 WARN L232 SmtUtils]: Spent 31.01s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 15:43:58,818 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-15 15:43:58,819 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-15 15:43:58,819 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:43:58,820 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:43:58,820 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,823 INFO L290 TraceCheckUtils]: 86: Hoare triple {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,833 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} 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); {7282#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-15 15:43:58,833 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #95#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-15 15:43:58,833 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,833 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,834 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,834 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,837 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} #93#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-15 15:43:58,837 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,837 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,837 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,837 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,838 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !false; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-15 15:43:58,839 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} assume !(~r~0 >= ~d~0); {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-15 15:43:58,841 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #91#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (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 (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))))} is VALID [2022-04-15 15:43:58,842 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:58,842 INFO L290 TraceCheckUtils]: 70: Hoare triple {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:43:58,842 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:43:58,842 INFO L272 TraceCheckUtils]: 68: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,843 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #89#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-15 15:43:58,843 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,843 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,843 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,843 INFO L272 TraceCheckUtils]: 63: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,844 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #87#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-15 15:43:58,844 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,844 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,844 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,844 INFO L272 TraceCheckUtils]: 58: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,846 INFO L290 TraceCheckUtils]: 57: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} assume !false; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-15 15:43:58,850 INFO L290 TraceCheckUtils]: 56: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (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_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (or (not (< main_~p~0 0)) (and (or (= (mod main_~d~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-15 15:43:58,850 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,850 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,850 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L272 TraceCheckUtils]: 51: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,851 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,851 INFO L272 TraceCheckUtils]: 46: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,853 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,853 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,853 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,853 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,853 INFO L272 TraceCheckUtils]: 41: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,854 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,854 INFO L290 TraceCheckUtils]: 39: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,855 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,855 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,855 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,855 INFO L272 TraceCheckUtils]: 34: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,855 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,855 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L272 TraceCheckUtils]: 29: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,856 INFO L272 TraceCheckUtils]: 24: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,857 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:43:58,857 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-15 15:43:58,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,857 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,857 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-15 15:43:58,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#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; {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#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); {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-15 15:43:58,859 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 15:43:58,859 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:43:58,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [831240204] [2022-04-15 15:43:58,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:43:58,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [68892846] [2022-04-15 15:43:58,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [68892846] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:43:58,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:43:58,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-15 15:43:58,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:43:58,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1664994004] [2022-04-15 15:43:58,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1664994004] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:43:58,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:43:58,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:43:58,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235462247] [2022-04-15 15:43:58,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:43:58,861 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 15:43:58,862 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:43:58,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:43:58,913 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-15 15:43:58,914 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:43:58,914 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:43:58,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:43:58,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=163, Unknown=1, NotChecked=0, Total=210 [2022-04-15 15:43:58,914 INFO L87 Difference]: Start difference. First operand 88 states and 102 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:44:03,243 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.86s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:44:08,009 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.38s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:44:10,020 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:44:11,678 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 15:44:14,103 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-15 15:44:14,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:14,111 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2022-04-15 15:44:14,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 15:44:14,112 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 15:44:14,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:44:14,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:44:14,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-15 15:44:14,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:44:14,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-15 15:44:14,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-15 15:44:14,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:44:14,237 INFO L225 Difference]: With dead ends: 112 [2022-04-15 15:44:14,237 INFO L226 Difference]: Without dead ends: 100 [2022-04-15 15:44:14,238 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 38.5s TimeCoverageRelationStatistics Valid=59, Invalid=211, Unknown=2, NotChecked=0, Total=272 [2022-04-15 15:44:14,238 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 34 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:44:14,239 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 162 Invalid, 296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 260 Invalid, 2 Unknown, 0 Unchecked, 9.5s Time] [2022-04-15 15:44:14,239 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-15 15:44:14,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2022-04-15 15:44:14,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:44:14,288 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 15:44:14,289 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 15:44:14,289 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 15:44:14,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:14,292 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-15 15:44:14,292 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-15 15:44:14,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:44:14,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:44:14,292 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-15 15:44:14,293 INFO L87 Difference]: Start difference. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-15 15:44:14,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:14,295 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-15 15:44:14,295 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-15 15:44:14,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:44:14,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:44:14,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:44:14,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:44:14,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 15:44:14,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2022-04-15 15:44:14,299 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 92 [2022-04-15 15:44:14,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:44:14,299 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2022-04-15 15:44:14,299 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 15:44:14,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 116 transitions. [2022-04-15 15:44:14,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:44:14,473 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2022-04-15 15:44:14,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-15 15:44:14,473 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:44:14,474 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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-15 15:44:14,491 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-15 15:44:14,674 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 15:44:14,674 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:44:14,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:44:14,675 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-15 15:44:14,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:44:14,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1862949881] [2022-04-15 15:44:14,675 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:44:14,675 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-15 15:44:14,675 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:44:14,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1630316911] [2022-04-15 15:44:14,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:44:14,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:44:14,689 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:44:14,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [397014138] [2022-04-15 15:44:14,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:44:14,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:44:14,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:44:14,691 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-15 15:44:14,701 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-15 15:44:14,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:44:14,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:44:14,782 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 15:44:14,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:44:14,804 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:44:16,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#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); {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#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; {8172#true} is VALID [2022-04-15 15:44:16,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,849 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,850 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,850 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-15 15:44:16,851 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-15 15:44:16,851 INFO L290 TraceCheckUtils]: 23: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !false; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-15 15:44:16,851 INFO L272 TraceCheckUtils]: 24: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,851 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,851 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,852 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #87#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-15 15:44:16,852 INFO L272 TraceCheckUtils]: 29: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,852 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,853 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #89#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-15 15:44:16,853 INFO L272 TraceCheckUtils]: 34: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,853 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,853 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,853 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,853 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #91#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-15 15:44:16,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-15 15:44:16,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !false; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-15 15:44:16,855 INFO L272 TraceCheckUtils]: 41: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,855 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,855 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,856 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #87#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-15 15:44:16,856 INFO L272 TraceCheckUtils]: 46: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,856 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,857 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #89#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-15 15:44:16,857 INFO L272 TraceCheckUtils]: 51: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,857 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,857 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,857 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,857 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #91#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-15 15:44:16,858 INFO L290 TraceCheckUtils]: 56: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-15 15:44:16,859 INFO L290 TraceCheckUtils]: 57: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !false; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-15 15:44:16,859 INFO L272 TraceCheckUtils]: 58: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,859 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,859 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,859 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,860 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #87#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-15 15:44:16,860 INFO L272 TraceCheckUtils]: 63: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,860 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,860 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,860 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,860 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #89#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-15 15:44:16,860 INFO L272 TraceCheckUtils]: 68: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,861 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,861 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,861 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,861 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #91#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-15 15:44:16,862 INFO L290 TraceCheckUtils]: 73: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,862 INFO L290 TraceCheckUtils]: 74: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,862 INFO L272 TraceCheckUtils]: 75: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,862 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,862 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,863 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,863 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,863 INFO L272 TraceCheckUtils]: 80: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,863 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,863 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,863 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,864 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #95#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,865 INFO L290 TraceCheckUtils]: 85: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 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); {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,865 INFO L290 TraceCheckUtils]: 86: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,866 INFO L290 TraceCheckUtils]: 87: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,866 INFO L272 TraceCheckUtils]: 88: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:16,866 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:16,866 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:16,866 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:16,867 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-15 15:44:16,867 INFO L272 TraceCheckUtils]: 93: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:44:16,868 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:16,868 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-15 15:44:16,868 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-15 15:44:16,868 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-15 15:44:16,868 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:44:20,496 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-15 15:44:20,497 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-15 15:44:20,498 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:20,503 INFO L272 TraceCheckUtils]: 93: Hoare triple {8481#(= 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)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:44:20,504 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:44:20,504 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,504 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,504 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,504 INFO L272 TraceCheckUtils]: 88: Hoare triple {8481#(= 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)); {8172#true} is VALID [2022-04-15 15:44:20,505 INFO L290 TraceCheckUtils]: 87: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:44:20,505 INFO L290 TraceCheckUtils]: 86: Hoare triple {8481#(= 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; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:44:20,522 INFO L290 TraceCheckUtils]: 85: Hoare triple {8506#(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); {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:44:20,523 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8506#(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)))))} #95#return; {8506#(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-15 15:44:20,523 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,523 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,523 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,523 INFO L272 TraceCheckUtils]: 80: Hoare triple {8506#(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)); {8172#true} is VALID [2022-04-15 15:44:20,524 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8506#(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)))))} #93#return; {8506#(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-15 15:44:20,524 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,524 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,525 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,525 INFO L272 TraceCheckUtils]: 75: Hoare triple {8506#(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)); {8172#true} is VALID [2022-04-15 15:44:20,526 INFO L290 TraceCheckUtils]: 74: Hoare triple {8506#(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 !false; {8506#(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-15 15:44:20,527 INFO L290 TraceCheckUtils]: 73: Hoare triple {8543#(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); {8506#(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-15 15:44:20,528 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8543#(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))))))} #91#return; {8543#(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-15 15:44:20,528 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,528 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,528 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,528 INFO L272 TraceCheckUtils]: 68: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-15 15:44:20,529 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8543#(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))))))} #89#return; {8543#(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-15 15:44:20,529 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,529 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,529 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,529 INFO L272 TraceCheckUtils]: 63: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-15 15:44:20,530 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8543#(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))))))} #87#return; {8543#(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-15 15:44:20,530 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,530 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,530 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,530 INFO L272 TraceCheckUtils]: 58: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-15 15:44:20,531 INFO L290 TraceCheckUtils]: 57: Hoare triple {8543#(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 !false; {8543#(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-15 15:44:20,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {8595#(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; {8543#(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-15 15:44:20,537 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8595#(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))))} #91#return; {8595#(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-15 15:44:20,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,537 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,537 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,537 INFO L272 TraceCheckUtils]: 51: Hoare triple {8595#(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)); {8172#true} is VALID [2022-04-15 15:44:20,538 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8595#(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))))} #89#return; {8595#(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-15 15:44:20,538 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,538 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,538 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,538 INFO L272 TraceCheckUtils]: 46: Hoare triple {8595#(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)); {8172#true} is VALID [2022-04-15 15:44:20,539 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8595#(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))))} #87#return; {8595#(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-15 15:44:20,539 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,539 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,539 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,539 INFO L272 TraceCheckUtils]: 41: Hoare triple {8595#(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)); {8172#true} is VALID [2022-04-15 15:44:20,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {8595#(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 !false; {8595#(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-15 15:44:20,542 INFO L290 TraceCheckUtils]: 39: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8595#(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-15 15:44:20,542 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:44:20,542 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,543 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,543 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,543 INFO L272 TraceCheckUtils]: 34: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,543 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:44:20,543 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,544 INFO L272 TraceCheckUtils]: 29: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,544 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:44:20,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,545 INFO L272 TraceCheckUtils]: 24: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:44:20,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 15:44:20,546 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-15 15:44:20,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,546 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-15 15:44:20,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#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; {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#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); {8172#true} is VALID [2022-04-15 15:44:20,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-15 15:44:20,549 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-15 15:44:20,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:44:20,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1630316911] [2022-04-15 15:44:20,550 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:44:20,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [397014138] [2022-04-15 15:44:20,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [397014138] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:44:20,550 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:44:20,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 15:44:20,550 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:44:20,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1862949881] [2022-04-15 15:44:20,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1862949881] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:44:20,551 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:44:20,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:44:20,551 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1731000383] [2022-04-15 15:44:20,551 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:44:20,551 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-15 15:44:20,552 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:44:20,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-15 15:44:20,624 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-15 15:44:20,624 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:44:20,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:44:20,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:44:20,625 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-04-15 15:44:20,625 INFO L87 Difference]: Start difference. First operand 99 states and 116 transitions. Second operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-15 15:44:22,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:22,198 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-15 15:44:22,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:44:22,199 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-15 15:44:22,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:44:22,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-15 15:44:22,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-15 15:44:22,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-15 15:44:22,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-15 15:44:22,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 116 transitions. [2022-04-15 15:44:22,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:44:22,335 INFO L225 Difference]: With dead ends: 177 [2022-04-15 15:44:22,335 INFO L226 Difference]: Without dead ends: 138 [2022-04-15 15:44:22,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:44:22,336 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 13 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 15:44:22,337 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 306 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 15:44:22,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-15 15:44:22,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2022-04-15 15:44:22,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:44:22,443 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:44:22,443 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:44:22,443 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:44:22,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:22,446 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-15 15:44:22,446 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:44:22,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:44:22,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:44:22,447 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-15 15:44:22,447 INFO L87 Difference]: Start difference. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-15 15:44:22,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:44:22,451 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-15 15:44:22,451 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:44:22,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:44:22,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:44:22,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:44:22,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:44:22,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 15:44:22,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 167 transitions. [2022-04-15 15:44:22,456 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 167 transitions. Word has length 97 [2022-04-15 15:44:22,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:44:22,456 INFO L478 AbstractCegarLoop]: Abstraction has 138 states and 167 transitions. [2022-04-15 15:44:22,457 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-15 15:44:22,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 138 states and 167 transitions. [2022-04-15 15:44:22,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:44:22,773 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-15 15:44:22,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-15 15:44:22,774 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:44:22,774 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 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, 1, 1] [2022-04-15 15:44:22,795 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-15 15:44:22,975 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:44:22,975 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:44:22,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:44:22,975 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-15 15:44:22,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:44:22,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [315362066] [2022-04-15 15:44:22,976 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:44:22,976 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-15 15:44:22,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:44:22,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [605777268] [2022-04-15 15:44:22,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:44:22,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:44:22,990 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:44:22,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [307494576] [2022-04-15 15:44:22,990 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:44:22,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:44:22,991 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:44:22,992 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-15 15:44:23,000 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-15 15:44:23,056 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:44:23,056 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:44:23,057 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 15:44:23,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:44:23,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:44:56,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#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); {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#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; {9679#true} is VALID [2022-04-15 15:44:56,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,062 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-15 15:44:56,063 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:56,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,063 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-15 15:44:56,068 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9750#(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-15 15:44:56,068 INFO L290 TraceCheckUtils]: 23: Hoare triple {9750#(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 !false; {9750#(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-15 15:44:56,069 INFO L272 TraceCheckUtils]: 24: Hoare triple {9750#(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)); {9679#true} is VALID [2022-04-15 15:44:56,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,069 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {9750#(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))} #87#return; {9750#(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-15 15:44:56,069 INFO L272 TraceCheckUtils]: 29: Hoare triple {9750#(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)); {9679#true} is VALID [2022-04-15 15:44:56,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,070 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,070 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,070 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {9750#(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))} #89#return; {9750#(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-15 15:44:56,070 INFO L272 TraceCheckUtils]: 34: Hoare triple {9750#(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)); {9679#true} is VALID [2022-04-15 15:44:56,070 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,071 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,071 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {9750#(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))} #91#return; {9750#(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-15 15:44:56,074 INFO L290 TraceCheckUtils]: 39: Hoare triple {9750#(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; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:44:56,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:44:56,074 INFO L272 TraceCheckUtils]: 41: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= 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)); {9679#true} is VALID [2022-04-15 15:44:56,074 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,074 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,075 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:44:56,075 INFO L272 TraceCheckUtils]: 46: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= 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)); {9679#true} is VALID [2022-04-15 15:44:56,075 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,075 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,076 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:44:56,076 INFO L272 TraceCheckUtils]: 51: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= 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)); {9679#true} is VALID [2022-04-15 15:44:56,076 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,076 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,076 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,077 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 15:44:56,079 INFO L290 TraceCheckUtils]: 56: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= 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; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,080 INFO L290 TraceCheckUtils]: 57: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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 !false; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,080 INFO L272 TraceCheckUtils]: 58: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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)); {9679#true} is VALID [2022-04-15 15:44:56,080 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,080 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,080 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,080 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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))} #87#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,081 INFO L272 TraceCheckUtils]: 63: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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)); {9679#true} is VALID [2022-04-15 15:44:56,081 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,081 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,081 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,081 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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))} #89#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,081 INFO L272 TraceCheckUtils]: 68: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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)); {9679#true} is VALID [2022-04-15 15:44:56,081 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,082 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,082 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,082 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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))} #91#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,083 INFO L290 TraceCheckUtils]: 73: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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); {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,083 INFO L290 TraceCheckUtils]: 74: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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 !false; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,083 INFO L272 TraceCheckUtils]: 75: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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)); {9679#true} is VALID [2022-04-15 15:44:56,083 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,083 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,083 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,084 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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))} #93#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,084 INFO L272 TraceCheckUtils]: 80: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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)); {9679#true} is VALID [2022-04-15 15:44:56,084 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,084 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,084 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,085 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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))} #95#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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-15 15:44:56,087 INFO L290 TraceCheckUtils]: 85: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (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); {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:44:56,089 INFO L290 TraceCheckUtils]: 86: Hoare triple {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-15 15:44:56,089 INFO L290 TraceCheckUtils]: 87: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} assume !false; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-15 15:44:56,089 INFO L272 TraceCheckUtils]: 88: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:44:56,089 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:56,090 INFO L290 TraceCheckUtils]: 90: Hoare triple {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:56,090 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:44:56,091 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} #93#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:44:56,091 INFO L272 TraceCheckUtils]: 93: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ 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)); {9679#true} is VALID [2022-04-15 15:44:56,091 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:44:56,091 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:44:56,091 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:44:56,096 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} #95#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:44:56,098 INFO L290 TraceCheckUtils]: 98: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ 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); {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:44:56,100 INFO L290 TraceCheckUtils]: 99: Hoare triple {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:44:56,101 INFO L290 TraceCheckUtils]: 100: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume !false; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:44:56,102 INFO L272 TraceCheckUtils]: 101: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (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)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:44:56,102 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:44:56,102 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-15 15:44:56,103 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-15 15:44:56,103 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-15 15:44:56,103 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:46:50,216 WARN L232 SmtUtils]: Spent 5.18s on a formula simplification that was a NOOP. DAG size: 142 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 15:47:16,537 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-15 15:47:16,538 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-15 15:47:16,538 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:47:16,539 INFO L272 TraceCheckUtils]: 101: Hoare triple {10018#(= (+ 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)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:47:16,539 INFO L290 TraceCheckUtils]: 100: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:47:16,541 INFO L290 TraceCheckUtils]: 99: Hoare triple {10025#(or (not (<= main_~d~0 main_~r~0)) (= (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; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:47:16,558 INFO L290 TraceCheckUtils]: 98: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~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); {10025#(or (not (<= main_~d~0 main_~r~0)) (= (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-15 15:47:16,559 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} #95#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:47:16,559 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:16,559 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:16,559 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:16,559 INFO L272 TraceCheckUtils]: 93: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:16,560 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #93#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 15:47:16,561 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:47:16,561 INFO L290 TraceCheckUtils]: 90: Hoare triple {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:47:16,561 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:47:16,561 INFO L272 TraceCheckUtils]: 88: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ 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)); {9679#true} is VALID [2022-04-15 15:47:16,563 INFO L290 TraceCheckUtils]: 87: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !false; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-15 15:47:16,567 INFO L290 TraceCheckUtils]: 86: Hoare triple {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (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) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-15 15:47:16,992 INFO L290 TraceCheckUtils]: 85: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div 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); {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (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) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 15:47:16,994 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #95#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-15 15:47:16,994 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:16,994 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:16,994 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:16,995 INFO L272 TraceCheckUtils]: 80: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:16,996 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #93#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-15 15:47:16,996 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:16,996 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:16,997 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:16,997 INFO L272 TraceCheckUtils]: 75: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,002 INFO L290 TraceCheckUtils]: 74: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} assume !false; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-15 15:47:17,009 INFO L290 TraceCheckUtils]: 73: Hoare triple {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (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))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~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) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 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))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (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 (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (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)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 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))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-15 15:47:17,010 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #91#return; {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:47:17,010 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,010 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,010 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,010 INFO L272 TraceCheckUtils]: 68: Hoare triple {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* 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)); {9679#true} is VALID [2022-04-15 15:47:17,011 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #89#return; {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:47:17,011 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,012 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,012 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,012 INFO L272 TraceCheckUtils]: 63: Hoare triple {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* 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)); {9679#true} is VALID [2022-04-15 15:47:17,013 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #87#return; {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:47:17,013 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,013 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,013 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,013 INFO L272 TraceCheckUtils]: 58: Hoare triple {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* 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)); {9679#true} is VALID [2022-04-15 15:47:17,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !false; {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:47:17,054 INFO L290 TraceCheckUtils]: 56: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10109#(or (and (or (< (+ (* (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)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (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)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:47:17,055 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} #91#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} is VALID [2022-04-15 15:47:17,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,055 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,055 INFO L272 TraceCheckUtils]: 51: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,056 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} #89#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} is VALID [2022-04-15 15:47:17,056 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,057 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,057 INFO L272 TraceCheckUtils]: 46: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,057 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} #87#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} is VALID [2022-04-15 15:47:17,058 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,058 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,058 INFO L272 TraceCheckUtils]: 41: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,060 INFO L290 TraceCheckUtils]: 40: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} assume !false; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} is VALID [2022-04-15 15:47:17,069 INFO L290 TraceCheckUtils]: 39: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (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))))))} is VALID [2022-04-15 15:47:17,070 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #91#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-15 15:47:17,070 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,070 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,070 INFO L272 TraceCheckUtils]: 34: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,071 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #89#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-15 15:47:17,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,071 INFO L272 TraceCheckUtils]: 29: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,072 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #87#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-15 15:47:17,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,072 INFO L272 TraceCheckUtils]: 24: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !false; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-15 15:47:17,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-15 15:47:17,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-15 15:47:17,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,076 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-15 15:47:17,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#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; {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#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); {9679#true} is VALID [2022-04-15 15:47:17,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-15 15:47:17,080 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-15 15:47:17,080 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:47:17,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [605777268] [2022-04-15 15:47:17,080 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:47:17,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [307494576] [2022-04-15 15:47:17,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [307494576] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:47:17,080 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:47:17,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-15 15:47:17,081 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:47:17,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [315362066] [2022-04-15 15:47:17,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [315362066] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:47:17,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:47:17,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:47:17,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453172427] [2022-04-15 15:47:17,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:47:17,082 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 15:47:17,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:47:17,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:47:17,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:47:17,175 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:47:17,175 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:47:17,175 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:47:17,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=494, Unknown=0, NotChecked=0, Total=600 [2022-04-15 15:47:17,176 INFO L87 Difference]: Start difference. First operand 138 states and 167 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:47:23,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:23,048 INFO L93 Difference]: Finished difference Result 184 states and 208 transitions. [2022-04-15 15:47:23,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:47:23,049 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 15:47:23,049 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:47:23,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:47:23,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-15 15:47:23,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:47:23,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-15 15:47:23,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 116 transitions. [2022-04-15 15:47:23,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:47:23,268 INFO L225 Difference]: With dead ends: 184 [2022-04-15 15:47:23,268 INFO L226 Difference]: Without dead ends: 147 [2022-04-15 15:47:23,268 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 185 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 14.1s TimeCoverageRelationStatistics Valid=119, Invalid=583, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:47:23,269 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 17 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 656 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 289 SdHoareTripleChecker+Invalid, 673 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 656 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-15 15:47:23,269 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 289 Invalid, 673 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 656 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-15 15:47:23,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-15 15:47:23,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-15 15:47:23,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:47:23,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:47:23,398 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:47:23,399 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:47:23,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:23,402 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-15 15:47:23,402 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:47:23,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:47:23,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:47:23,403 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-15 15:47:23,403 INFO L87 Difference]: Start difference. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-15 15:47:23,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:47:23,406 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-15 15:47:23,407 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:47:23,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:47:23,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:47:23,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:47:23,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:47:23,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-15 15:47:23,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 167 transitions. [2022-04-15 15:47:23,411 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 167 transitions. Word has length 105 [2022-04-15 15:47:23,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:47:23,412 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 167 transitions. [2022-04-15 15:47:23,412 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 15:47:23,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 167 transitions. [2022-04-15 15:47:23,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:47:23,684 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-15 15:47:23,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-15 15:47:23,685 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:47:23,685 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 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-15 15:47:23,702 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-15 15:47:23,887 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 15:47:23,888 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:47:23,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:47:23,888 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-15 15:47:23,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:47:23,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [228865297] [2022-04-15 15:47:23,888 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:47:23,889 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-15 15:47:23,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:47:23,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [633683228] [2022-04-15 15:47:23,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:47:23,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:47:23,899 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:47:23,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [619143382] [2022-04-15 15:47:23,900 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:47:23,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:47:23,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:47:23,901 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-15 15:47:23,906 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-15 15:47:23,985 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 15:47:23,986 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:47:23,987 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 15:47:24,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:47:24,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:47:25,554 INFO L272 TraceCheckUtils]: 0: Hoare triple {11293#true} call ULTIMATE.init(); {11293#true} is VALID [2022-04-15 15:47:25,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {11293#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); {11293#true} is VALID [2022-04-15 15:47:25,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11293#true} {11293#true} #101#return; {11293#true} is VALID [2022-04-15 15:47:25,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {11293#true} call #t~ret6 := main(); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {11293#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; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L272 TraceCheckUtils]: 6: Hoare triple {11293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11293#true} {11293#true} #81#return; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {11293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L272 TraceCheckUtils]: 12: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 13: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11293#true} {11293#true} #83#return; {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L272 TraceCheckUtils]: 17: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,556 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11293#true} {11293#true} #85#return; {11293#true} is VALID [2022-04-15 15:47:25,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {11293#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,556 INFO L272 TraceCheckUtils]: 24: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,557 INFO L290 TraceCheckUtils]: 26: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,557 INFO L290 TraceCheckUtils]: 27: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,557 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,557 INFO L272 TraceCheckUtils]: 29: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-15 15:47:25,557 INFO L290 TraceCheckUtils]: 30: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,558 INFO L290 TraceCheckUtils]: 31: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,558 INFO L290 TraceCheckUtils]: 32: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,558 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,558 INFO L272 TraceCheckUtils]: 34: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-15 15:47:25,558 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,559 INFO L290 TraceCheckUtils]: 36: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,559 INFO L290 TraceCheckUtils]: 37: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,559 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,560 INFO L290 TraceCheckUtils]: 39: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,560 INFO L290 TraceCheckUtils]: 40: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,560 INFO L272 TraceCheckUtils]: 41: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,560 INFO L290 TraceCheckUtils]: 42: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,560 INFO L290 TraceCheckUtils]: 43: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,560 INFO L290 TraceCheckUtils]: 44: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,561 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,561 INFO L272 TraceCheckUtils]: 46: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-15 15:47:25,561 INFO L290 TraceCheckUtils]: 47: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,561 INFO L290 TraceCheckUtils]: 48: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,561 INFO L290 TraceCheckUtils]: 49: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,561 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,561 INFO L272 TraceCheckUtils]: 51: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-15 15:47:25,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,562 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 15:47:25,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,564 INFO L290 TraceCheckUtils]: 57: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,564 INFO L272 TraceCheckUtils]: 58: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,564 INFO L290 TraceCheckUtils]: 59: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,564 INFO L290 TraceCheckUtils]: 60: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,564 INFO L290 TraceCheckUtils]: 61: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,565 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,565 INFO L272 TraceCheckUtils]: 63: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,565 INFO L290 TraceCheckUtils]: 64: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,565 INFO L290 TraceCheckUtils]: 65: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,565 INFO L290 TraceCheckUtils]: 66: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,565 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,565 INFO L272 TraceCheckUtils]: 68: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,566 INFO L290 TraceCheckUtils]: 69: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,566 INFO L290 TraceCheckUtils]: 70: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,566 INFO L290 TraceCheckUtils]: 71: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,566 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,568 INFO L290 TraceCheckUtils]: 73: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,568 INFO L290 TraceCheckUtils]: 74: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,568 INFO L272 TraceCheckUtils]: 75: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,568 INFO L290 TraceCheckUtils]: 76: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,568 INFO L290 TraceCheckUtils]: 77: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,568 INFO L290 TraceCheckUtils]: 78: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,569 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,569 INFO L272 TraceCheckUtils]: 80: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,569 INFO L290 TraceCheckUtils]: 81: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,569 INFO L290 TraceCheckUtils]: 82: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,569 INFO L290 TraceCheckUtils]: 83: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,569 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,570 INFO L272 TraceCheckUtils]: 85: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,570 INFO L290 TraceCheckUtils]: 86: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,570 INFO L290 TraceCheckUtils]: 87: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,570 INFO L290 TraceCheckUtils]: 88: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,570 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,571 INFO L290 TraceCheckUtils]: 90: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,571 INFO L290 TraceCheckUtils]: 91: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,571 INFO L272 TraceCheckUtils]: 92: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,571 INFO L290 TraceCheckUtils]: 93: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,571 INFO L290 TraceCheckUtils]: 94: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,572 INFO L290 TraceCheckUtils]: 95: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,579 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,580 INFO L272 TraceCheckUtils]: 97: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11293#true} is VALID [2022-04-15 15:47:25,580 INFO L290 TraceCheckUtils]: 98: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-15 15:47:25,580 INFO L290 TraceCheckUtils]: 99: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-15 15:47:25,580 INFO L290 TraceCheckUtils]: 100: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-15 15:47:25,581 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,583 INFO L290 TraceCheckUtils]: 102: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,585 INFO L290 TraceCheckUtils]: 103: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,585 INFO L290 TraceCheckUtils]: 104: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} assume !false; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,585 INFO L272 TraceCheckUtils]: 105: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~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)); {11293#true} is VALID [2022-04-15 15:47:25,586 INFO L290 TraceCheckUtils]: 106: Hoare triple {11293#true} ~cond := #in~cond; {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:47:25,586 INFO L290 TraceCheckUtils]: 107: Hoare triple {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:47:25,586 INFO L290 TraceCheckUtils]: 108: Hoare triple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:47:25,588 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} #93#return; {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 15:47:25,589 INFO L272 TraceCheckUtils]: 110: Hoare triple {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:47:25,589 INFO L290 TraceCheckUtils]: 111: Hoare triple {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:47:25,590 INFO L290 TraceCheckUtils]: 112: Hoare triple {11639#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11294#false} is VALID [2022-04-15 15:47:25,590 INFO L290 TraceCheckUtils]: 113: Hoare triple {11294#false} assume !false; {11294#false} is VALID [2022-04-15 15:47:25,590 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 96 proven. 4 refuted. 0 times theorem prover too weak. 395 trivial. 0 not checked. [2022-04-15 15:47:25,590 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:48:28,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:48:28,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [633683228] [2022-04-15 15:48:28,953 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:48:28,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [619143382] [2022-04-15 15:48:28,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [619143382] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:48:28,953 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:48:28,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-15 15:48:28,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:48:28,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [228865297] [2022-04-15 15:48:28,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [228865297] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:48:28,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:48:28,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:48:28,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [797242281] [2022-04-15 15:48:28,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:48:28,954 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 15:48:28,954 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:48:28,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:48:29,023 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-15 15:48:29,023 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:48:29,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:48:29,024 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:48:29,024 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:48:29,024 INFO L87 Difference]: Start difference. First operand 147 states and 167 transitions. Second operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:48:31,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:48:31,010 INFO L93 Difference]: Finished difference Result 168 states and 190 transitions. [2022-04-15 15:48:31,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:48:31,010 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 15:48:31,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:48:31,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:48:31,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-15 15:48:31,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:48:31,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-15 15:48:31,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2022-04-15 15:48:31,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:48:31,149 INFO L225 Difference]: With dead ends: 168 [2022-04-15 15:48:31,149 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 15:48:31,149 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:48:31,149 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 310 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 65 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-15 15:48:31,150 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 233 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 310 Invalid, 0 Unknown, 65 Unchecked, 0.9s Time] [2022-04-15 15:48:31,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 15:48:31,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 155. [2022-04-15 15:48:31,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:48:31,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 15:48:31,282 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 15:48:31,282 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 15:48:31,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:48:31,286 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-15 15:48:31,286 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-15 15:48:31,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:48:31,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:48:31,287 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-15 15:48:31,287 INFO L87 Difference]: Start difference. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-15 15:48:31,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:48:31,290 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-15 15:48:31,291 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-15 15:48:31,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:48:31,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:48:31,291 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:48:31,291 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:48:31,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-15 15:48:31,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 176 transitions. [2022-04-15 15:48:31,295 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 176 transitions. Word has length 114 [2022-04-15 15:48:31,296 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:48:31,296 INFO L478 AbstractCegarLoop]: Abstraction has 155 states and 176 transitions. [2022-04-15 15:48:31,296 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 15:48:31,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 176 transitions. [2022-04-15 15:48:31,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:48:31,605 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 176 transitions. [2022-04-15 15:48:31,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 15:48:31,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:48:31,606 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 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, 1, 1] [2022-04-15 15:48:31,628 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-15 15:48:31,819 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 15:48:31,819 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:48:31,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:48:31,820 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 3 times [2022-04-15 15:48:31,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:48:31,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1070556883] [2022-04-15 15:48:31,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:48:31,820 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 4 times [2022-04-15 15:48:31,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:48:31,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [442717345] [2022-04-15 15:48:31,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:48:31,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:48:31,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:48:31,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1626698841] [2022-04-15 15:48:31,832 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:48:31,832 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:48:31,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:48:31,833 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-15 15:48:31,841 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-15 15:48:31,900 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:48:31,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:48:31,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 15:48:31,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:48:31,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:48:56,610 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:49:00,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {12626#true} call ULTIMATE.init(); {12626#true} is VALID [2022-04-15 15:49:00,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {12626#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); {12626#true} is VALID [2022-04-15 15:49:00,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12626#true} {12626#true} #101#return; {12626#true} is VALID [2022-04-15 15:49:00,654 INFO L272 TraceCheckUtils]: 4: Hoare triple {12626#true} call #t~ret6 := main(); {12626#true} is VALID [2022-04-15 15:49:00,654 INFO L290 TraceCheckUtils]: 5: Hoare triple {12626#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; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {12626#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12626#true} {12626#true} #81#return; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {12626#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L272 TraceCheckUtils]: 12: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12626#true} {12626#true} #83#return; {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L272 TraceCheckUtils]: 17: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12626#true} {12626#true} #85#return; {12626#true} is VALID [2022-04-15 15:49:00,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {12626#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {12697#(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)); {12626#true} is VALID [2022-04-15 15:49:00,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,657 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,657 INFO L272 TraceCheckUtils]: 29: Hoare triple {12697#(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)); {12626#true} is VALID [2022-04-15 15:49:00,657 INFO L290 TraceCheckUtils]: 30: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,658 INFO L272 TraceCheckUtils]: 34: Hoare triple {12697#(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)); {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,659 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,660 INFO L290 TraceCheckUtils]: 39: Hoare triple {12697#(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; {12749#(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-15 15:49:00,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {12749#(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-15 15:49:00,661 INFO L272 TraceCheckUtils]: 41: Hoare triple {12749#(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)); {12626#true} is VALID [2022-04-15 15:49:00,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,661 INFO L290 TraceCheckUtils]: 43: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,661 INFO L290 TraceCheckUtils]: 44: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,662 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {12749#(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-15 15:49:00,662 INFO L272 TraceCheckUtils]: 46: Hoare triple {12749#(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)); {12626#true} is VALID [2022-04-15 15:49:00,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,662 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {12749#(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-15 15:49:00,663 INFO L272 TraceCheckUtils]: 51: Hoare triple {12749#(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)); {12626#true} is VALID [2022-04-15 15:49:00,663 INFO L290 TraceCheckUtils]: 52: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,663 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {12749#(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-15 15:49:00,665 INFO L290 TraceCheckUtils]: 56: Hoare triple {12749#(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; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,665 INFO L290 TraceCheckUtils]: 57: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,665 INFO L272 TraceCheckUtils]: 58: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,665 INFO L290 TraceCheckUtils]: 59: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,666 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,666 INFO L272 TraceCheckUtils]: 63: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,666 INFO L290 TraceCheckUtils]: 64: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,666 INFO L290 TraceCheckUtils]: 65: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,666 INFO L290 TraceCheckUtils]: 66: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,667 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,667 INFO L272 TraceCheckUtils]: 68: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,667 INFO L290 TraceCheckUtils]: 69: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,667 INFO L290 TraceCheckUtils]: 70: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,667 INFO L290 TraceCheckUtils]: 71: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,667 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,668 INFO L290 TraceCheckUtils]: 73: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,668 INFO L290 TraceCheckUtils]: 74: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,668 INFO L272 TraceCheckUtils]: 75: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,668 INFO L290 TraceCheckUtils]: 76: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L290 TraceCheckUtils]: 77: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L290 TraceCheckUtils]: 78: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,669 INFO L272 TraceCheckUtils]: 80: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L290 TraceCheckUtils]: 81: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L290 TraceCheckUtils]: 82: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,669 INFO L290 TraceCheckUtils]: 83: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,670 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-15 15:49:00,672 INFO L290 TraceCheckUtils]: 85: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= 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); {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:49:00,674 INFO L290 TraceCheckUtils]: 86: Hoare triple {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-15 15:49:00,675 INFO L290 TraceCheckUtils]: 87: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} assume !false; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-15 15:49:00,675 INFO L272 TraceCheckUtils]: 88: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,675 INFO L290 TraceCheckUtils]: 89: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,675 INFO L290 TraceCheckUtils]: 90: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,675 INFO L290 TraceCheckUtils]: 91: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,675 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #93#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-15 15:49:00,676 INFO L272 TraceCheckUtils]: 93: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,676 INFO L290 TraceCheckUtils]: 94: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,676 INFO L290 TraceCheckUtils]: 95: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,676 INFO L290 TraceCheckUtils]: 96: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,676 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #95#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-15 15:49:00,680 INFO L290 TraceCheckUtils]: 98: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 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) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 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); {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:49:00,684 INFO L290 TraceCheckUtils]: 99: Hoare triple {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* 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; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,685 INFO L290 TraceCheckUtils]: 100: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !false; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,685 INFO L272 TraceCheckUtils]: 101: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,685 INFO L290 TraceCheckUtils]: 102: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-15 15:49:00,685 INFO L290 TraceCheckUtils]: 103: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-15 15:49:00,685 INFO L290 TraceCheckUtils]: 104: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-15 15:49:00,686 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {12626#true} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #93#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,686 INFO L272 TraceCheckUtils]: 106: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-15 15:49:00,686 INFO L290 TraceCheckUtils]: 107: Hoare triple {12626#true} ~cond := #in~cond; {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:49:00,686 INFO L290 TraceCheckUtils]: 108: Hoare triple {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:49:00,687 INFO L290 TraceCheckUtils]: 109: Hoare triple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:49:00,687 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #95#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:49:00,688 INFO L290 TraceCheckUtils]: 111: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} is VALID [2022-04-15 15:49:00,693 INFO L272 TraceCheckUtils]: 112: Hoare triple {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12978#(exists ((aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 Int) (v_main_~r~0_BEFORE_CALL_159 Int) (aux_div_v_main_~d~0_BEFORE_CALL_155_132 Int)) (and (<= 0 (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= (+ v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3)) (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) (+ 2 v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3))) (<= 0 v_main_~r~0_BEFORE_CALL_159) (< (div (+ (* (- 8589934592) aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159) (* (- 2) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) 1) (- 4)) (+ (div (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 (- 2)) (* 8589934592 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* 2 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* (- 2) v_main_~r~0_BEFORE_CALL_159)) 4) 1)) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 4294967296) (<= 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159)) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)))} is VALID [2022-04-15 15:49:00,694 INFO L290 TraceCheckUtils]: 113: Hoare triple {12978#(exists ((aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 Int) (aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 Int) (aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 Int) (v_main_~r~0_BEFORE_CALL_159 Int) (aux_div_v_main_~d~0_BEFORE_CALL_155_132 Int)) (and (<= 0 (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= (+ v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3)) (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55 4294967296) (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) (+ 2 v_main_~r~0_BEFORE_CALL_159 (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 3))) (<= 0 v_main_~r~0_BEFORE_CALL_159) (< (div (+ (* (- 8589934592) aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159) (* (- 2) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) 1) (- 4)) (+ (div (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 (- 2)) (* 8589934592 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* 2 aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77) (* (- 2) v_main_~r~0_BEFORE_CALL_159)) 4) 1)) (< (+ (* aux_div_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66 4294967296) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)) 4294967296) (<= 1 |__VERIFIER_assert_#in~cond|) (< aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 4294967296) (<= 0 (+ aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77 (* 4294967296 aux_div_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77))) (< (+ (* aux_div_v_main_~d~0_BEFORE_CALL_155_132 2) (* 2 v_main_~r~0_BEFORE_CALL_159)) aux_mod_aux_mod_aux_mod_aux_mod_v_main_~A~0_BEFORE_CALL_135_44_55_66_77)))} ~cond := #in~cond; {12982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:49:00,694 INFO L290 TraceCheckUtils]: 114: Hoare triple {12982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12627#false} is VALID [2022-04-15 15:49:00,694 INFO L290 TraceCheckUtils]: 115: Hoare triple {12627#false} assume !false; {12627#false} is VALID [2022-04-15 15:49:00,694 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 390 trivial. 0 not checked. [2022-04-15 15:49:00,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:49:21,751 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 15:50:05,665 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:50:05,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [442717345] [2022-04-15 15:50:05,666 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:50:05,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1626698841] [2022-04-15 15:50:05,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1626698841] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 15:50:05,666 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:50:05,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-15 15:50:05,666 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:50:05,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1070556883] [2022-04-15 15:50:05,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1070556883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:50:05,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:50:05,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 15:50:05,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [523770440] [2022-04-15 15:50:05,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:50:05,667 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-15 15:50:05,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:50:05,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-15 15:50:05,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:50:05,852 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 15:50:05,853 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:05,853 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 15:50:05,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=549, Unknown=0, NotChecked=0, Total=702 [2022-04-15 15:50:05,853 INFO L87 Difference]: Start difference. First operand 155 states and 176 transitions. Second operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-15 15:50:12,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:12,365 INFO L93 Difference]: Finished difference Result 161 states and 181 transitions. [2022-04-15 15:50:12,365 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 15:50:12,366 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-15 15:50:12,366 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:50:12,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-15 15:50:12,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2022-04-15 15:50:12,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-15 15:50:12,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 96 transitions. [2022-04-15 15:50:12,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 96 transitions. [2022-04-15 15:50:12,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:50:12,666 INFO L225 Difference]: With dead ends: 161 [2022-04-15 15:50:12,666 INFO L226 Difference]: Without dead ends: 124 [2022-04-15 15:50:12,666 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 167 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=167, Invalid=645, Unknown=0, NotChecked=0, Total=812 [2022-04-15 15:50:12,667 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 280 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 324 SdHoareTripleChecker+Invalid, 665 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 11 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:50:12,667 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 324 Invalid, 665 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 640 Invalid, 0 Unknown, 11 Unchecked, 4.0s Time] [2022-04-15 15:50:12,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-15 15:50:12,767 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2022-04-15 15:50:12,768 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:50:12,768 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:50:12,768 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:50:12,769 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:50:12,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:12,771 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-15 15:50:12,771 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:50:12,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:12,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:12,772 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-15 15:50:12,774 INFO L87 Difference]: Start difference. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-15 15:50:12,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:12,777 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-15 15:50:12,777 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:50:12,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:12,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:12,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:50:12,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:50:12,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-15 15:50:12,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 142 transitions. [2022-04-15 15:50:12,781 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 142 transitions. Word has length 116 [2022-04-15 15:50:12,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:50:12,781 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 142 transitions. [2022-04-15 15:50:12,781 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-15 15:50:12,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 142 transitions. [2022-04-15 15:50:13,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:50:13,096 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-15 15:50:13,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2022-04-15 15:50:13,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:50:13,099 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 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, 1, 1, 1, 1, 1, 1] [2022-04-15 15:50:13,119 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-15 15:50:13,311 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-15 15:50:13,312 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:50:13,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:50:13,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 5 times [2022-04-15 15:50:13,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:13,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [669590175] [2022-04-15 15:50:13,313 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:50:13,313 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 6 times [2022-04-15 15:50:13,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:50:13,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1378082723] [2022-04-15 15:50:13,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:50:13,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:50:13,330 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:50:13,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1425700413] [2022-04-15 15:50:13,330 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 15:50:13,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:50:13,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:50:13,331 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-15 15:50:13,333 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-15 15:50:13,402 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 15:50:13,402 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:50:13,403 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 15:50:13,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:50:13,421 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:50:16,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {14057#true} call ULTIMATE.init(); {14057#true} is VALID [2022-04-15 15:50:16,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {14057#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); {14057#true} is VALID [2022-04-15 15:50:16,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14057#true} {14057#true} #101#return; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {14057#true} call #t~ret6 := main(); {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {14057#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; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L272 TraceCheckUtils]: 6: Hoare triple {14057#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14057#true} {14057#true} #81#return; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {14057#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,062 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14057#true} {14057#true} #83#return; {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L272 TraceCheckUtils]: 17: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14057#true} {14057#true} #85#return; {14057#true} is VALID [2022-04-15 15:50:16,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {14057#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,063 INFO L290 TraceCheckUtils]: 23: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,064 INFO L272 TraceCheckUtils]: 24: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 26: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,064 INFO L272 TraceCheckUtils]: 29: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 30: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 31: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,064 INFO L290 TraceCheckUtils]: 32: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,065 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,065 INFO L272 TraceCheckUtils]: 34: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,065 INFO L290 TraceCheckUtils]: 35: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,065 INFO L290 TraceCheckUtils]: 36: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,065 INFO L290 TraceCheckUtils]: 37: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,066 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,067 INFO L290 TraceCheckUtils]: 39: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,067 INFO L290 TraceCheckUtils]: 40: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,067 INFO L272 TraceCheckUtils]: 41: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,067 INFO L290 TraceCheckUtils]: 42: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,067 INFO L290 TraceCheckUtils]: 43: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,067 INFO L290 TraceCheckUtils]: 44: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,068 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #87#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,068 INFO L272 TraceCheckUtils]: 46: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,068 INFO L290 TraceCheckUtils]: 47: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,068 INFO L290 TraceCheckUtils]: 48: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,068 INFO L290 TraceCheckUtils]: 49: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,069 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #89#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,069 INFO L272 TraceCheckUtils]: 51: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,069 INFO L290 TraceCheckUtils]: 52: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,069 INFO L290 TraceCheckUtils]: 53: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,069 INFO L290 TraceCheckUtils]: 54: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,071 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #91#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,072 INFO L290 TraceCheckUtils]: 56: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,073 INFO L290 TraceCheckUtils]: 57: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,073 INFO L272 TraceCheckUtils]: 58: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,073 INFO L290 TraceCheckUtils]: 59: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,073 INFO L290 TraceCheckUtils]: 60: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,073 INFO L290 TraceCheckUtils]: 61: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,074 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,074 INFO L272 TraceCheckUtils]: 63: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,074 INFO L290 TraceCheckUtils]: 64: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,074 INFO L290 TraceCheckUtils]: 65: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,074 INFO L290 TraceCheckUtils]: 66: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,074 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,075 INFO L272 TraceCheckUtils]: 68: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,075 INFO L290 TraceCheckUtils]: 69: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,075 INFO L290 TraceCheckUtils]: 70: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,075 INFO L290 TraceCheckUtils]: 71: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,075 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,077 INFO L290 TraceCheckUtils]: 73: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,077 INFO L290 TraceCheckUtils]: 74: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,077 INFO L272 TraceCheckUtils]: 75: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,077 INFO L290 TraceCheckUtils]: 76: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,077 INFO L290 TraceCheckUtils]: 77: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,077 INFO L290 TraceCheckUtils]: 78: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,078 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #87#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,078 INFO L272 TraceCheckUtils]: 80: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,078 INFO L290 TraceCheckUtils]: 81: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,078 INFO L290 TraceCheckUtils]: 82: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,078 INFO L290 TraceCheckUtils]: 83: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,079 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #89#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,079 INFO L272 TraceCheckUtils]: 85: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,079 INFO L290 TraceCheckUtils]: 86: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,079 INFO L290 TraceCheckUtils]: 87: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,079 INFO L290 TraceCheckUtils]: 88: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,080 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #91#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,080 INFO L290 TraceCheckUtils]: 90: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !(~r~0 >= ~d~0); {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,080 INFO L290 TraceCheckUtils]: 91: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,081 INFO L272 TraceCheckUtils]: 92: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,081 INFO L290 TraceCheckUtils]: 93: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,081 INFO L290 TraceCheckUtils]: 94: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,081 INFO L290 TraceCheckUtils]: 95: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,081 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #93#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,081 INFO L272 TraceCheckUtils]: 97: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,082 INFO L290 TraceCheckUtils]: 98: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,082 INFO L290 TraceCheckUtils]: 99: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,082 INFO L290 TraceCheckUtils]: 100: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,082 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14057#true} {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #95#return; {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-15 15:50:16,084 INFO L290 TraceCheckUtils]: 102: Hoare triple {14284#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,084 INFO L290 TraceCheckUtils]: 103: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,085 INFO L290 TraceCheckUtils]: 104: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,085 INFO L272 TraceCheckUtils]: 105: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,085 INFO L290 TraceCheckUtils]: 106: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,085 INFO L290 TraceCheckUtils]: 107: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,085 INFO L290 TraceCheckUtils]: 108: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,086 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,086 INFO L272 TraceCheckUtils]: 110: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,086 INFO L290 TraceCheckUtils]: 111: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,086 INFO L290 TraceCheckUtils]: 112: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,086 INFO L290 TraceCheckUtils]: 113: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,087 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,087 INFO L290 TraceCheckUtils]: 115: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {14058#false} is VALID [2022-04-15 15:50:16,087 INFO L272 TraceCheckUtils]: 116: Hoare triple {14058#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14058#false} is VALID [2022-04-15 15:50:16,087 INFO L290 TraceCheckUtils]: 117: Hoare triple {14058#false} ~cond := #in~cond; {14058#false} is VALID [2022-04-15 15:50:16,087 INFO L290 TraceCheckUtils]: 118: Hoare triple {14058#false} assume 0 == ~cond; {14058#false} is VALID [2022-04-15 15:50:16,087 INFO L290 TraceCheckUtils]: 119: Hoare triple {14058#false} assume !false; {14058#false} is VALID [2022-04-15 15:50:16,088 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 62 proven. 4 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-15 15:50:16,088 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:50:16,887 INFO L290 TraceCheckUtils]: 119: Hoare triple {14058#false} assume !false; {14058#false} is VALID [2022-04-15 15:50:16,887 INFO L290 TraceCheckUtils]: 118: Hoare triple {14058#false} assume 0 == ~cond; {14058#false} is VALID [2022-04-15 15:50:16,887 INFO L290 TraceCheckUtils]: 117: Hoare triple {14058#false} ~cond := #in~cond; {14058#false} is VALID [2022-04-15 15:50:16,887 INFO L272 TraceCheckUtils]: 116: Hoare triple {14058#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14058#false} is VALID [2022-04-15 15:50:16,888 INFO L290 TraceCheckUtils]: 115: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {14058#false} is VALID [2022-04-15 15:50:16,888 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #95#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,888 INFO L290 TraceCheckUtils]: 113: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,888 INFO L290 TraceCheckUtils]: 112: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,888 INFO L290 TraceCheckUtils]: 111: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,888 INFO L272 TraceCheckUtils]: 110: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,889 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #93#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,889 INFO L290 TraceCheckUtils]: 108: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,889 INFO L290 TraceCheckUtils]: 107: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,889 INFO L290 TraceCheckUtils]: 106: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,889 INFO L272 TraceCheckUtils]: 105: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,889 INFO L290 TraceCheckUtils]: 104: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,890 INFO L290 TraceCheckUtils]: 103: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,891 INFO L290 TraceCheckUtils]: 102: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,891 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 100: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 99: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 98: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L272 TraceCheckUtils]: 97: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 95: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 94: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,892 INFO L290 TraceCheckUtils]: 93: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,893 INFO L272 TraceCheckUtils]: 92: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,893 INFO L290 TraceCheckUtils]: 91: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,893 INFO L290 TraceCheckUtils]: 90: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,893 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 88: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 87: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 86: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L272 TraceCheckUtils]: 85: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 83: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 82: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L290 TraceCheckUtils]: 81: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,894 INFO L272 TraceCheckUtils]: 80: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,895 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14057#true} {14232#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,895 INFO L290 TraceCheckUtils]: 78: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,895 INFO L290 TraceCheckUtils]: 77: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,895 INFO L290 TraceCheckUtils]: 76: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,895 INFO L272 TraceCheckUtils]: 75: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,895 INFO L290 TraceCheckUtils]: 74: Hoare triple {14232#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,896 INFO L290 TraceCheckUtils]: 73: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14232#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-15 15:50:16,899 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #91#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,899 INFO L290 TraceCheckUtils]: 71: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,900 INFO L290 TraceCheckUtils]: 70: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,900 INFO L290 TraceCheckUtils]: 69: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,900 INFO L272 TraceCheckUtils]: 68: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,900 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #89#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,900 INFO L290 TraceCheckUtils]: 66: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,900 INFO L290 TraceCheckUtils]: 65: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L290 TraceCheckUtils]: 64: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L272 TraceCheckUtils]: 63: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14057#true} {14180#(<= 1 (div main_~p~0 2))} #87#return; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,901 INFO L290 TraceCheckUtils]: 61: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L290 TraceCheckUtils]: 60: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L290 TraceCheckUtils]: 59: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,901 INFO L272 TraceCheckUtils]: 58: Hoare triple {14180#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,902 INFO L290 TraceCheckUtils]: 57: Hoare triple {14180#(<= 1 (div main_~p~0 2))} assume !false; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,902 INFO L290 TraceCheckUtils]: 56: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14180#(<= 1 (div main_~p~0 2))} is VALID [2022-04-15 15:50:16,903 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,903 INFO L290 TraceCheckUtils]: 54: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,903 INFO L290 TraceCheckUtils]: 53: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,903 INFO L290 TraceCheckUtils]: 52: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,903 INFO L272 TraceCheckUtils]: 51: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,903 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,903 INFO L290 TraceCheckUtils]: 49: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,903 INFO L290 TraceCheckUtils]: 48: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L290 TraceCheckUtils]: 47: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L272 TraceCheckUtils]: 46: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,904 INFO L290 TraceCheckUtils]: 44: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L290 TraceCheckUtils]: 43: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L290 TraceCheckUtils]: 42: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,904 INFO L272 TraceCheckUtils]: 41: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,905 INFO L290 TraceCheckUtils]: 40: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,905 INFO L290 TraceCheckUtils]: 39: Hoare triple {14128#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,906 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #91#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,906 INFO L290 TraceCheckUtils]: 37: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,906 INFO L290 TraceCheckUtils]: 36: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,906 INFO L290 TraceCheckUtils]: 35: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,906 INFO L272 TraceCheckUtils]: 34: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,906 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #89#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,906 INFO L290 TraceCheckUtils]: 32: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,906 INFO L290 TraceCheckUtils]: 31: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,907 INFO L290 TraceCheckUtils]: 30: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,907 INFO L272 TraceCheckUtils]: 29: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,907 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14057#true} {14128#(<= 1 main_~p~0)} #87#return; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,907 INFO L290 TraceCheckUtils]: 27: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,907 INFO L290 TraceCheckUtils]: 26: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,908 INFO L290 TraceCheckUtils]: 25: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,908 INFO L272 TraceCheckUtils]: 24: Hoare triple {14128#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,908 INFO L290 TraceCheckUtils]: 23: Hoare triple {14128#(<= 1 main_~p~0)} assume !false; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {14057#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14128#(<= 1 main_~p~0)} is VALID [2022-04-15 15:50:16,909 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14057#true} {14057#true} #85#return; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 20: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 19: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 18: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L272 TraceCheckUtils]: 17: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14057#true} {14057#true} #83#return; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L272 TraceCheckUtils]: 12: Hoare triple {14057#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 11: Hoare triple {14057#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14057#true} {14057#true} #81#return; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {14057#true} assume !(0 == ~cond); {14057#true} is VALID [2022-04-15 15:50:16,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {14057#true} ~cond := #in~cond; {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {14057#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {14057#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; {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {14057#true} call #t~ret6 := main(); {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14057#true} {14057#true} #101#return; {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {14057#true} assume true; {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {14057#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); {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L272 TraceCheckUtils]: 0: Hoare triple {14057#true} call ULTIMATE.init(); {14057#true} is VALID [2022-04-15 15:50:16,910 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 57 proven. 4 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-04-15 15:50:16,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:50:16,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1378082723] [2022-04-15 15:50:16,911 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:50:16,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1425700413] [2022-04-15 15:50:16,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1425700413] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:50:16,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:50:16,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-15 15:50:16,911 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:50:16,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [669590175] [2022-04-15 15:50:16,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [669590175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:50:16,911 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:50:16,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:50:16,912 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [22586740] [2022-04-15 15:50:16,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:50:16,912 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-15 15:50:16,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:50:16,913 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-15 15:50:17,015 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-15 15:50:17,016 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:50:17,016 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:17,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:50:17,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:50:17,017 INFO L87 Difference]: Start difference. First operand 124 states and 142 transitions. Second operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-15 15:50:17,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:17,451 INFO L93 Difference]: Finished difference Result 150 states and 178 transitions. [2022-04-15 15:50:17,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 15:50:17,451 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-15 15:50:17,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:50:17,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-15 15:50:17,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-15 15:50:17,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-15 15:50:17,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-15 15:50:17,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2022-04-15 15:50:17,593 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-15 15:50:17,595 INFO L225 Difference]: With dead ends: 150 [2022-04-15 15:50:17,596 INFO L226 Difference]: Without dead ends: 137 [2022-04-15 15:50:17,596 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 230 SyntacticMatches, 5 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:50:17,597 INFO L913 BasicCegarLoop]: 66 mSDtfsCounter, 20 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:50:17,597 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [25 Valid, 107 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:50:17,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-15 15:50:17,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-15 15:50:17,723 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:50:17,723 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 15:50:17,723 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 15:50:17,724 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 15:50:17,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:17,727 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-15 15:50:17,727 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:50:17,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:17,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:17,727 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-15 15:50:17,728 INFO L87 Difference]: Start difference. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-15 15:50:17,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:50:17,731 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-15 15:50:17,731 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:50:17,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:50:17,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:50:17,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:50:17,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:50:17,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 15:50:17,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 162 transitions. [2022-04-15 15:50:17,735 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 162 transitions. Word has length 120 [2022-04-15 15:50:17,735 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:50:17,735 INFO L478 AbstractCegarLoop]: Abstraction has 137 states and 162 transitions. [2022-04-15 15:50:17,736 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-15 15:50:17,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 162 transitions. [2022-04-15 15:50:18,093 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-15 15:50:18,093 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-15 15:50:18,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-15 15:50:18,094 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:50:18,094 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:50:18,119 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-15 15:50:18,294 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 15:50:18,295 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:50:18,295 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:50:18,295 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 13 times [2022-04-15 15:50:18,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:50:18,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1747289268] [2022-04-15 15:50:18,296 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:50:18,296 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 14 times [2022-04-15 15:50:18,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:50:18,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [315351746] [2022-04-15 15:50:18,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:50:18,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:50:18,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:50:18,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2086945730] [2022-04-15 15:50:18,318 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:50:18,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:50:18,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:50:18,324 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-15 15:50:18,329 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-15 15:50:18,392 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:50:18,392 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:50:18,393 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 15:50:18,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:50:18,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:50:24,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {15630#true} call ULTIMATE.init(); {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {15630#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); {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15630#true} {15630#true} #101#return; {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {15630#true} call #t~ret6 := main(); {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {15630#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; {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {15630#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 8: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15630#true} {15630#true} #81#return; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 11: Hoare triple {15630#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L272 TraceCheckUtils]: 12: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 13: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15630#true} {15630#true} #83#return; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L272 TraceCheckUtils]: 17: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 18: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15630#true} {15630#true} #85#return; {15630#true} is VALID [2022-04-15 15:50:24,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {15630#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15701#(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-15 15:50:24,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {15701#(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 !false; {15701#(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-15 15:50:24,576 INFO L272 TraceCheckUtils]: 24: Hoare triple {15701#(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)); {15630#true} is VALID [2022-04-15 15:50:24,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,577 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15630#true} {15701#(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))} #87#return; {15701#(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-15 15:50:24,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {15701#(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)); {15630#true} is VALID [2022-04-15 15:50:24,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,578 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15630#true} {15701#(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))} #89#return; {15701#(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-15 15:50:24,578 INFO L272 TraceCheckUtils]: 34: Hoare triple {15701#(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)); {15630#true} is VALID [2022-04-15 15:50:24,578 INFO L290 TraceCheckUtils]: 35: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,579 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15630#true} {15701#(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))} #91#return; {15701#(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-15 15:50:24,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {15701#(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; {15753#(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-15 15:50:24,581 INFO L290 TraceCheckUtils]: 40: Hoare triple {15753#(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 !false; {15753#(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-15 15:50:24,581 INFO L272 TraceCheckUtils]: 41: Hoare triple {15753#(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)); {15630#true} is VALID [2022-04-15 15:50:24,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L290 TraceCheckUtils]: 43: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L290 TraceCheckUtils]: 44: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15630#true} {15753#(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))} #87#return; {15753#(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-15 15:50:24,582 INFO L272 TraceCheckUtils]: 46: Hoare triple {15753#(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)); {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L290 TraceCheckUtils]: 47: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L290 TraceCheckUtils]: 48: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,582 INFO L290 TraceCheckUtils]: 49: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,583 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15630#true} {15753#(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))} #89#return; {15753#(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-15 15:50:24,583 INFO L272 TraceCheckUtils]: 51: Hoare triple {15753#(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)); {15630#true} is VALID [2022-04-15 15:50:24,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,583 INFO L290 TraceCheckUtils]: 53: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,583 INFO L290 TraceCheckUtils]: 54: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,584 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15630#true} {15753#(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))} #91#return; {15753#(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-15 15:50:24,585 INFO L290 TraceCheckUtils]: 56: Hoare triple {15753#(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; {15805#(and (= (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-15 15:50:24,586 INFO L290 TraceCheckUtils]: 57: Hoare triple {15805#(and (= (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 !false; {15805#(and (= (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-15 15:50:24,586 INFO L272 TraceCheckUtils]: 58: Hoare triple {15805#(and (= (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)); {15630#true} is VALID [2022-04-15 15:50:24,586 INFO L290 TraceCheckUtils]: 59: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,586 INFO L290 TraceCheckUtils]: 60: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,586 INFO L290 TraceCheckUtils]: 61: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,587 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15630#true} {15805#(and (= (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))} #87#return; {15805#(and (= (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-15 15:50:24,587 INFO L272 TraceCheckUtils]: 63: Hoare triple {15805#(and (= (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)); {15630#true} is VALID [2022-04-15 15:50:24,587 INFO L290 TraceCheckUtils]: 64: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,587 INFO L290 TraceCheckUtils]: 65: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,587 INFO L290 TraceCheckUtils]: 66: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,587 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15630#true} {15805#(and (= (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))} #89#return; {15805#(and (= (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-15 15:50:24,588 INFO L272 TraceCheckUtils]: 68: Hoare triple {15805#(and (= (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)); {15630#true} is VALID [2022-04-15 15:50:24,588 INFO L290 TraceCheckUtils]: 69: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,588 INFO L290 TraceCheckUtils]: 70: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,588 INFO L290 TraceCheckUtils]: 71: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,600 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15630#true} {15805#(and (= (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))} #91#return; {15805#(and (= (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-15 15:50:24,601 INFO L290 TraceCheckUtils]: 73: Hoare triple {15805#(and (= (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);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15857#(and (= (mod main_~A~0 4294967296) main_~r~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-15 15:50:24,602 INFO L290 TraceCheckUtils]: 74: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~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 !false; {15857#(and (= (mod main_~A~0 4294967296) main_~r~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-15 15:50:24,602 INFO L272 TraceCheckUtils]: 75: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~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 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,602 INFO L290 TraceCheckUtils]: 76: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,602 INFO L290 TraceCheckUtils]: 77: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,602 INFO L290 TraceCheckUtils]: 78: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,603 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15630#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~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))} #87#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~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-15 15:50:24,603 INFO L272 TraceCheckUtils]: 80: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~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 ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,603 INFO L290 TraceCheckUtils]: 81: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,603 INFO L290 TraceCheckUtils]: 82: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,603 INFO L290 TraceCheckUtils]: 83: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,604 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15630#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~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))} #89#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~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-15 15:50:24,604 INFO L272 TraceCheckUtils]: 85: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~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)); {15630#true} is VALID [2022-04-15 15:50:24,604 INFO L290 TraceCheckUtils]: 86: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,604 INFO L290 TraceCheckUtils]: 87: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,604 INFO L290 TraceCheckUtils]: 88: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,604 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15630#true} {15857#(and (= (mod main_~A~0 4294967296) main_~r~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))} #91#return; {15857#(and (= (mod main_~A~0 4294967296) main_~r~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-15 15:50:24,605 INFO L290 TraceCheckUtils]: 90: Hoare triple {15857#(and (= (mod main_~A~0 4294967296) main_~r~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 !(~r~0 >= ~d~0); {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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-15 15:50:24,605 INFO L290 TraceCheckUtils]: 91: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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-15 15:50:24,605 INFO L272 TraceCheckUtils]: 92: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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)); {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 93: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 94: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 95: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15630#true} {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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-15 15:50:24,606 INFO L272 TraceCheckUtils]: 97: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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)); {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 98: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 99: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,606 INFO L290 TraceCheckUtils]: 100: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,607 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15630#true} {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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-15 15:50:24,610 INFO L290 TraceCheckUtils]: 102: Hoare triple {15909#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 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); {15946#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-15 15:50:24,612 INFO L290 TraceCheckUtils]: 103: Hoare triple {15946#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (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; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-15 15:50:24,612 INFO L290 TraceCheckUtils]: 104: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} assume !false; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-15 15:50:24,612 INFO L272 TraceCheckUtils]: 105: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,612 INFO L290 TraceCheckUtils]: 106: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,612 INFO L290 TraceCheckUtils]: 107: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,612 INFO L290 TraceCheckUtils]: 108: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,613 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15630#true} {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #93#return; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-15 15:50:24,613 INFO L272 TraceCheckUtils]: 110: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:50:24,613 INFO L290 TraceCheckUtils]: 111: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:50:24,613 INFO L290 TraceCheckUtils]: 112: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:50:24,613 INFO L290 TraceCheckUtils]: 113: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:50:24,614 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15630#true} {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #95#return; {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-15 15:50:24,616 INFO L290 TraceCheckUtils]: 115: Hoare triple {15950#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~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); {15987#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} is VALID [2022-04-15 15:50:24,617 INFO L290 TraceCheckUtils]: 116: Hoare triple {15987#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15991#(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))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:50:24,618 INFO L290 TraceCheckUtils]: 117: Hoare triple {15991#(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))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} assume !false; {15991#(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))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 15:50:24,619 INFO L272 TraceCheckUtils]: 118: Hoare triple {15991#(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))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:50:24,619 INFO L290 TraceCheckUtils]: 119: Hoare triple {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:50:24,619 INFO L290 TraceCheckUtils]: 120: Hoare triple {16002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15631#false} is VALID [2022-04-15 15:50:24,619 INFO L290 TraceCheckUtils]: 121: Hoare triple {15631#false} assume !false; {15631#false} is VALID [2022-04-15 15:50:24,620 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 32 proven. 39 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-15 15:50:24,620 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:50:59,893 WARN L232 SmtUtils]: Spent 9.04s on a formula simplification that was a NOOP. DAG size: 142 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 15:51:33,183 INFO L290 TraceCheckUtils]: 121: Hoare triple {15631#false} assume !false; {15631#false} is VALID [2022-04-15 15:51:33,184 INFO L290 TraceCheckUtils]: 120: Hoare triple {16002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15631#false} is VALID [2022-04-15 15:51:33,184 INFO L290 TraceCheckUtils]: 119: Hoare triple {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:51:33,185 INFO L272 TraceCheckUtils]: 118: Hoare triple {16018#(= (+ 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)); {15998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:51:33,185 INFO L290 TraceCheckUtils]: 117: Hoare triple {16018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {16018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:51:33,189 INFO L290 TraceCheckUtils]: 116: Hoare triple {16025#(= (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; {16018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:51:33,203 INFO L290 TraceCheckUtils]: 115: Hoare triple {16029#(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); {16025#(= (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-15 15:51:33,204 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15630#true} {16029#(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))))))} #95#return; {16029#(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-15 15:51:33,204 INFO L290 TraceCheckUtils]: 113: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,204 INFO L290 TraceCheckUtils]: 112: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,204 INFO L290 TraceCheckUtils]: 111: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,204 INFO L272 TraceCheckUtils]: 110: Hoare triple {16029#(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)); {15630#true} is VALID [2022-04-15 15:51:33,205 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15630#true} {16029#(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))))))} #93#return; {16029#(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-15 15:51:33,205 INFO L290 TraceCheckUtils]: 108: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,205 INFO L290 TraceCheckUtils]: 107: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,205 INFO L290 TraceCheckUtils]: 106: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,205 INFO L272 TraceCheckUtils]: 105: Hoare triple {16029#(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)); {15630#true} is VALID [2022-04-15 15:51:33,206 INFO L290 TraceCheckUtils]: 104: Hoare triple {16029#(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 !false; {16029#(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-15 15:51:33,226 INFO L290 TraceCheckUtils]: 103: Hoare triple {16066#(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; {16029#(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-15 15:51:33,556 INFO L290 TraceCheckUtils]: 102: Hoare triple {16070#(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); {16066#(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-15 15:51:33,557 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15630#true} {16070#(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)))))} #95#return; {16070#(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-15 15:51:33,557 INFO L290 TraceCheckUtils]: 100: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,557 INFO L290 TraceCheckUtils]: 99: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,557 INFO L290 TraceCheckUtils]: 98: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,557 INFO L272 TraceCheckUtils]: 97: Hoare triple {16070#(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)); {15630#true} is VALID [2022-04-15 15:51:33,558 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15630#true} {16070#(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)))))} #93#return; {16070#(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-15 15:51:33,558 INFO L290 TraceCheckUtils]: 95: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,558 INFO L290 TraceCheckUtils]: 94: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,558 INFO L290 TraceCheckUtils]: 93: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,558 INFO L272 TraceCheckUtils]: 92: Hoare triple {16070#(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)); {15630#true} is VALID [2022-04-15 15:51:33,562 INFO L290 TraceCheckUtils]: 91: Hoare triple {16070#(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 !false; {16070#(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-15 15:51:33,566 INFO L290 TraceCheckUtils]: 90: Hoare triple {16107#(or (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))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {16070#(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-15 15:51:33,567 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15630#true} {16107#(or (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))))) (<= main_~d~0 main_~r~0))} #91#return; {16107#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:51:33,567 INFO L290 TraceCheckUtils]: 88: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,567 INFO L290 TraceCheckUtils]: 87: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,567 INFO L290 TraceCheckUtils]: 86: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,568 INFO L272 TraceCheckUtils]: 85: Hoare triple {16107#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,568 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15630#true} {16107#(or (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))))) (<= main_~d~0 main_~r~0))} #89#return; {16107#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:51:33,568 INFO L290 TraceCheckUtils]: 83: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,569 INFO L290 TraceCheckUtils]: 82: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,569 INFO L290 TraceCheckUtils]: 81: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,569 INFO L272 TraceCheckUtils]: 80: Hoare triple {16107#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,570 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15630#true} {16107#(or (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))))) (<= main_~d~0 main_~r~0))} #87#return; {16107#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:51:33,570 INFO L290 TraceCheckUtils]: 78: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,570 INFO L290 TraceCheckUtils]: 77: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,570 INFO L290 TraceCheckUtils]: 76: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,570 INFO L272 TraceCheckUtils]: 75: Hoare triple {16107#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,574 INFO L290 TraceCheckUtils]: 74: Hoare triple {16107#(or (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))))) (<= main_~d~0 main_~r~0))} assume !false; {16107#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:51:33,615 INFO L290 TraceCheckUtils]: 73: Hoare triple {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16107#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:51:33,616 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15630#true} {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:51:33,616 INFO L290 TraceCheckUtils]: 71: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,616 INFO L290 TraceCheckUtils]: 70: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,616 INFO L290 TraceCheckUtils]: 69: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,616 INFO L272 TraceCheckUtils]: 68: Hoare triple {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,617 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15630#true} {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:51:33,617 INFO L290 TraceCheckUtils]: 66: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,617 INFO L290 TraceCheckUtils]: 65: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,617 INFO L290 TraceCheckUtils]: 64: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,617 INFO L272 TraceCheckUtils]: 63: Hoare triple {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,617 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15630#true} {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:51:33,617 INFO L290 TraceCheckUtils]: 61: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,618 INFO L290 TraceCheckUtils]: 60: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,618 INFO L290 TraceCheckUtils]: 59: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,618 INFO L272 TraceCheckUtils]: 58: Hoare triple {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,620 INFO L290 TraceCheckUtils]: 57: Hoare triple {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:51:33,623 INFO L290 TraceCheckUtils]: 56: Hoare triple {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16159#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:51:33,624 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15630#true} {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #91#return; {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:51:33,624 INFO L290 TraceCheckUtils]: 54: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,624 INFO L290 TraceCheckUtils]: 53: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,624 INFO L290 TraceCheckUtils]: 52: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,624 INFO L272 TraceCheckUtils]: 51: Hoare triple {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,625 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15630#true} {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #89#return; {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:51:33,625 INFO L290 TraceCheckUtils]: 49: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,625 INFO L290 TraceCheckUtils]: 48: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,625 INFO L290 TraceCheckUtils]: 47: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,625 INFO L272 TraceCheckUtils]: 46: Hoare triple {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,626 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15630#true} {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #87#return; {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:51:33,626 INFO L290 TraceCheckUtils]: 44: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,626 INFO L290 TraceCheckUtils]: 43: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,626 INFO L290 TraceCheckUtils]: 42: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,626 INFO L272 TraceCheckUtils]: 41: Hoare triple {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,626 INFO L290 TraceCheckUtils]: 40: Hoare triple {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !false; {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:51:33,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16211#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-15 15:51:33,630 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15630#true} {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #91#return; {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-15 15:51:33,630 INFO L290 TraceCheckUtils]: 37: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,630 INFO L290 TraceCheckUtils]: 36: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,630 INFO L290 TraceCheckUtils]: 35: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,630 INFO L272 TraceCheckUtils]: 34: Hoare triple {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,630 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15630#true} {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #89#return; {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-15 15:51:33,631 INFO L290 TraceCheckUtils]: 32: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,631 INFO L290 TraceCheckUtils]: 31: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,631 INFO L272 TraceCheckUtils]: 29: Hoare triple {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,631 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15630#true} {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #87#return; {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-15 15:51:33,631 INFO L290 TraceCheckUtils]: 27: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,631 INFO L290 TraceCheckUtils]: 26: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,632 INFO L290 TraceCheckUtils]: 25: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,632 INFO L272 TraceCheckUtils]: 24: Hoare triple {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,632 INFO L290 TraceCheckUtils]: 23: Hoare triple {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !false; {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {15630#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16263#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-15 15:51:33,634 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15630#true} {15630#true} #85#return; {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L272 TraceCheckUtils]: 17: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15630#true} {15630#true} #83#return; {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 15: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L272 TraceCheckUtils]: 12: Hoare triple {15630#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {15630#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15630#true} {15630#true} #81#return; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {15630#true} assume !(0 == ~cond); {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {15630#true} ~cond := #in~cond; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {15630#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {15630#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; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {15630#true} call #t~ret6 := main(); {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15630#true} {15630#true} #101#return; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {15630#true} assume true; {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {15630#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); {15630#true} is VALID [2022-04-15 15:51:33,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {15630#true} call ULTIMATE.init(); {15630#true} is VALID [2022-04-15 15:51:33,641 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 32 proven. 39 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-15 15:51:33,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:51:33,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [315351746] [2022-04-15 15:51:33,642 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:51:33,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2086945730] [2022-04-15 15:51:33,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2086945730] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:51:33,642 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:51:33,642 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 22 [2022-04-15 15:51:33,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:51:33,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1747289268] [2022-04-15 15:51:33,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1747289268] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:51:33,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:51:33,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:51:33,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [50043318] [2022-04-15 15:51:33,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:51:33,643 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 122 [2022-04-15 15:51:33,644 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:51:33,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-15 15:51:33,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:51:33,762 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:51:33,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:51:33,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:51:33,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=353, Unknown=0, NotChecked=0, Total=462 [2022-04-15 15:51:33,763 INFO L87 Difference]: Start difference. First operand 137 states and 162 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20)