/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/hard-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:26:12,041 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:26:12,060 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:26:12,115 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:26:12,115 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:26:12,116 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:26:12,117 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:26:12,118 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:26:12,120 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:26:12,121 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:26:12,121 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:26:12,122 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:26:12,123 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:26:12,125 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:26:12,126 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:26:12,129 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:26:12,130 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:26:12,131 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:26:12,133 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:26:12,134 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:26:12,135 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:26:12,139 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:26:12,143 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:26:12,144 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:26:12,145 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:26:12,149 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:26:12,149 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:26:12,149 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:26:12,150 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:26:12,150 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:26:12,151 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:26:12,151 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:26:12,152 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:26:12,152 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:26:12,153 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:26:12,153 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:26:12,153 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:26:12,154 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:26:12,154 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:26:12,154 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:26:12,155 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:26:12,161 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:26:12,161 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:26:12,175 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:26:12,176 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:26:12,177 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:26:12,177 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:26:12,177 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:26:12,177 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:26:12,178 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:26:12,178 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:26:12,178 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:26:12,178 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:26:12,179 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:26:12,179 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:26:12,180 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:26:12,180 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:26:12,181 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 04:26:12,366 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:26:12,391 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:26:12,393 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:26:12,394 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:26:12,395 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:26:12,396 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/hard-ll.c [2022-04-08 04:26:12,452 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9db6e5ea3/19782f8b6e4c4a4e8d9a2716ead76dd5/FLAG2d5d2c9bd [2022-04-08 04:26:12,813 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:26:12,813 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard-ll.c [2022-04-08 04:26:12,821 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9db6e5ea3/19782f8b6e4c4a4e8d9a2716ead76dd5/FLAG2d5d2c9bd [2022-04-08 04:26:13,248 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9db6e5ea3/19782f8b6e4c4a4e8d9a2716ead76dd5 [2022-04-08 04:26:13,250 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:26:13,251 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:26:13,252 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:26:13,253 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:26:13,254 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:26:13,255 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,256 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7f059e73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13, skipping insertion in model container [2022-04-08 04:26:13,256 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,261 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:26:13,272 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:26:13,396 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/hard-ll.c[538,551] [2022-04-08 04:26:13,411 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:26:13,418 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:26:13,428 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/hard-ll.c[538,551] [2022-04-08 04:26:13,435 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:26:13,445 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:26:13,446 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13 WrapperNode [2022-04-08 04:26:13,446 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:26:13,447 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:26:13,447 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:26:13,447 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:26:13,455 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,455 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,460 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,460 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,465 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,469 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,470 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,471 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:26:13,472 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:26:13,472 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:26:13,472 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:26:13,473 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (1/1) ... [2022-04-08 04:26:13,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:26:13,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:13,500 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 04:26:13,526 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:26:13,541 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:26:13,542 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:26:13,542 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:26:13,542 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:26:13,542 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:26:13,543 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 04:26:13,543 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:26:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:26:13,593 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:26:13,595 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:26:13,737 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:26:13,742 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:26:13,742 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 04:26:13,744 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:26:13 BoogieIcfgContainer [2022-04-08 04:26:13,744 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:26:13,745 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:26:13,745 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:26:13,754 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:26:13,754 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:26:13" (1/3) ... [2022-04-08 04:26:13,755 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6903e8e9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:26:13, skipping insertion in model container [2022-04-08 04:26:13,755 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:26:13" (2/3) ... [2022-04-08 04:26:13,755 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6903e8e9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:26:13, skipping insertion in model container [2022-04-08 04:26:13,755 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:26:13" (3/3) ... [2022-04-08 04:26:13,756 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll.c [2022-04-08 04:26:13,759 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:26:13,760 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:26:13,804 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:26:13,819 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:26:13,819 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:26:13,836 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 04:26:13,848 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 04:26:13,848 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:13,849 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:13,849 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:13,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:13,854 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 04:26:13,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:13,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1589946250] [2022-04-08 04:26:13,879 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:13,880 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 04:26:13,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:13,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577631794] [2022-04-08 04:26:13,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:13,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:14,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:26:14,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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); {38#true} is VALID [2022-04-08 04:26:14,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 04:26:14,115 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 04:26:14,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:26:14,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 04:26:14,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 04:26:14,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 04:26:14,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 04:26:14,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:26:14,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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); {38#true} is VALID [2022-04-08 04:26:14,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 04:26:14,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 04:26:14,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret6 := main(); {38#true} is VALID [2022-04-08 04:26:14,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-08 04:26:14,141 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 04:26:14,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 04:26:14,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 04:26:14,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 04:26:14,143 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 04:26:14,143 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-08 04:26:14,143 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 04:26:14,144 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-08 04:26:14,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 04:26:14,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 04:26:14,144 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 04:26:14,145 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:26:14,145 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:14,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577631794] [2022-04-08 04:26:14,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1577631794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:14,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:14,147 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:26:14,149 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:14,149 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1589946250] [2022-04-08 04:26:14,149 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1589946250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:14,150 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:14,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:26:14,150 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1730697273] [2022-04-08 04:26:14,150 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:14,155 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:26:14,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:14,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:14,188 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:26:14,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:14,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:26:14,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:26:14,220 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:14,404 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 04:26:14,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:26:14,404 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:26:14,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:14,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 04:26:14,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 04:26:14,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 04:26:14,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:14,580 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:26:14,581 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 04:26:14,583 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:26:14,586 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:14,587 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:26:14,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 04:26:14,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 04:26:14,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:14,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:14,614 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:14,615 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:14,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:14,620 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 04:26:14,620 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 04:26:14,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:14,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:14,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 04:26:14,622 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 04:26:14,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:14,626 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 04:26:14,626 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 04:26:14,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:14,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:14,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:14,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:14,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:14,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 04:26:14,632 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 04:26:14,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:14,632 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 04:26:14,633 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 04:26:14,676 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-08 04:26:14,676 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 04:26:14,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 04:26:14,677 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:14,677 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:14,677 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:26:14,677 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:14,678 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:14,678 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 04:26:14,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:14,679 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [322668700] [2022-04-08 04:26:14,679 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:14,680 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 04:26:14,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:14,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1499815298] [2022-04-08 04:26:14,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:14,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:14,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:26:14,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,754 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#(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); {292#true} is VALID [2022-04-08 04:26:14,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 04:26:14,754 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 04:26:14,755 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:26:14,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:14,760 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 04:26:14,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 04:26:14,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 04:26:14,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 04:26:14,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:26:14,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#(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); {292#true} is VALID [2022-04-08 04:26:14,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 04:26:14,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 04:26:14,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret6 := main(); {292#true} is VALID [2022-04-08 04:26:14,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {292#true} is VALID [2022-04-08 04:26:14,763 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {292#true} is VALID [2022-04-08 04:26:14,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 04:26:14,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 04:26:14,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 04:26:14,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 04:26:14,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {301#(= main_~q~0 0)} is VALID [2022-04-08 04:26:14,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 04:26:14,766 INFO L272 TraceCheckUtils]: 13: Hoare triple {301#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:14,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {302#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:14,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 04:26:14,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 04:26:14,767 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:26:14,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:14,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1499815298] [2022-04-08 04:26:14,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1499815298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:14,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:14,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:26:14,768 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:14,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [322668700] [2022-04-08 04:26:14,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [322668700] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:14,769 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:14,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:26:14,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852149724] [2022-04-08 04:26:14,770 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:14,770 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:26:14,771 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:14,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:14,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:14,786 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:26:14,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:14,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:26:14,787 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:26:14,787 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:15,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,172 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 04:26:15,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:26:15,173 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:26:15,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:15,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:15,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 04:26:15,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:15,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 04:26:15,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 04:26:15,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:15,252 INFO L225 Difference]: With dead ends: 43 [2022-04-08 04:26:15,252 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 04:26:15,252 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:26:15,253 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:15,254 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:26:15,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 04:26:15,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 04:26:15,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:15,261 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,262 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,262 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,266 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 04:26:15,266 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 04:26:15,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:15,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:15,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 04:26:15,268 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 04:26:15,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,272 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 04:26:15,272 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 04:26:15,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:15,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:15,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:15,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:15,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 04:26:15,276 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 04:26:15,276 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:15,276 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 04:26:15,277 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:26:15,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 04:26:15,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:15,329 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 04:26:15,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 04:26:15,330 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:15,330 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:15,330 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 04:26:15,330 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:15,331 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:15,331 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 04:26:15,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:15,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1028620508] [2022-04-08 04:26:15,332 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:15,332 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 04:26:15,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:15,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [510961135] [2022-04-08 04:26:15,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:15,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:15,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:15,420 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:26:15,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:15,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#(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); {551#true} is VALID [2022-04-08 04:26:15,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,442 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 04:26:15,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:26:15,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:15,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 04:26:15,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 04:26:15,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 04:26:15,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 04:26:15,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:15,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 04:26:15,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 04:26:15,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #80#return; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 04:26:15,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} call ULTIMATE.init(); {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:26:15,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(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); {551#true} is VALID [2022-04-08 04:26:15,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 04:26:15,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret6 := main(); {551#true} is VALID [2022-04-08 04:26:15,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {551#true} is VALID [2022-04-08 04:26:15,465 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {551#true} is VALID [2022-04-08 04:26:15,466 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 04:26:15,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 04:26:15,466 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,466 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 04:26:15,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {551#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 04:26:15,468 INFO L290 TraceCheckUtils]: 12: Hoare triple {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 04:26:15,468 INFO L272 TraceCheckUtils]: 13: Hoare triple {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {551#true} is VALID [2022-04-08 04:26:15,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 04:26:15,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 04:26:15,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 04:26:15,470 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {551#true} {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #80#return; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 04:26:15,471 INFO L272 TraceCheckUtils]: 18: Hoare triple {560#(= 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)); {565#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:15,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {565#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {566#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:15,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 04:26:15,472 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 04:26:15,473 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:26:15,473 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:15,473 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [510961135] [2022-04-08 04:26:15,473 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [510961135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:15,473 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:15,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:26:15,474 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:15,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1028620508] [2022-04-08 04:26:15,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1028620508] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:15,475 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:15,475 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:26:15,475 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497245275] [2022-04-08 04:26:15,475 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:15,476 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 04:26:15,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:15,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:26:15,494 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-08 04:26:15,494 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:26:15,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:15,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:26:15,495 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:26:15,496 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:26:15,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,894 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 04:26:15,894 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:26:15,894 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 04:26:15,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:15,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:26:15,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 04:26:15,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:26:15,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 04:26:15,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 04:26:15,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:15,967 INFO L225 Difference]: With dead ends: 47 [2022-04-08 04:26:15,967 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 04:26:15,968 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:26:15,969 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:15,969 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:26:15,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 04:26:15,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 04:26:15,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:15,978 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,978 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,979 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,981 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 04:26:15,982 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 04:26:15,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:15,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:15,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 04:26:15,983 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 04:26:15,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:15,986 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 04:26:15,986 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 04:26:15,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:15,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:15,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:15,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:15,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:26:15,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 04:26:15,989 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 04:26:15,989 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:15,989 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 04:26:15,990 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:26:15,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 04:26:16,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:16,043 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 04:26:16,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 04:26:16,044 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:16,044 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:16,044 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 04:26:16,044 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:16,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:16,045 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 04:26:16,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:16,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2060364976] [2022-04-08 04:26:16,046 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:16,046 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 04:26:16,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:16,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [871377087] [2022-04-08 04:26:16,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:16,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:16,061 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:16,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [231167503] [2022-04-08 04:26:16,061 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:16,062 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:16,062 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:16,067 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:16,070 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 04:26:16,108 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:16,109 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:16,119 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:26:16,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:16,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:16,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 04:26:16,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#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); {838#true} is VALID [2022-04-08 04:26:16,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 04:26:16,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 04:26:16,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret6 := main(); {838#true} is VALID [2022-04-08 04:26:16,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {838#true} is VALID [2022-04-08 04:26:16,296 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {838#true} is VALID [2022-04-08 04:26:16,296 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 04:26:16,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 04:26:16,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 04:26:16,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 04:26:16,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {838#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:16,298 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:16,298 INFO L272 TraceCheckUtils]: 13: Hoare triple {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {838#true} is VALID [2022-04-08 04:26:16,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 04:26:16,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 04:26:16,299 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 04:26:16,300 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {838#true} {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:16,300 INFO L272 TraceCheckUtils]: 18: Hoare triple {876#(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)); {838#true} is VALID [2022-04-08 04:26:16,300 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 04:26:16,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 04:26:16,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 04:26:16,301 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {838#true} {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:16,302 INFO L272 TraceCheckUtils]: 23: Hoare triple {876#(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)); {913#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:16,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:16,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 04:26:16,303 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 04:26:16,303 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 04:26:16,304 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:26:16,304 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:16,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [871377087] [2022-04-08 04:26:16,304 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:16,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [231167503] [2022-04-08 04:26:16,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [231167503] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:16,305 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:16,305 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:16,305 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:16,305 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2060364976] [2022-04-08 04:26:16,305 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2060364976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:16,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:16,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:16,306 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1897812373] [2022-04-08 04:26:16,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:16,306 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 04:26:16,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:16,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:26:16,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:16,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:26:16,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:16,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:26:16,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:26:16,328 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:26:16,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:16,563 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 04:26:16,563 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:26:16,564 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 04:26:16,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:16,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:26:16,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 04:26:16,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:26:16,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 04:26:16,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 04:26:16,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:16,641 INFO L225 Difference]: With dead ends: 66 [2022-04-08 04:26:16,642 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 04:26:16,642 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:26:16,643 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:16,643 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 127 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:26:16,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 04:26:16,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 04:26:16,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:16,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:26:16,666 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:26:16,666 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:26:16,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:16,669 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 04:26:16,669 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 04:26:16,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:16,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:16,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 04:26:16,670 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 04:26:16,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:16,678 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 04:26:16,679 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 04:26:16,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:16,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:16,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:16,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:16,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 04:26:16,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 04:26:16,685 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 04:26:16,685 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:16,685 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 04:26:16,686 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:26:16,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 04:26:16,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:16,770 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 04:26:16,770 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 04:26:16,771 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:16,771 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:16,796 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 04:26:16,988 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-08 04:26:16,988 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:16,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:16,989 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 04:26:16,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:16,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1175119386] [2022-04-08 04:26:16,990 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:16,990 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 04:26:16,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:16,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160987279] [2022-04-08 04:26:16,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:16,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:17,010 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:17,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1512261456] [2022-04-08 04:26:17,011 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:17,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:17,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:17,015 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:17,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 04:26:17,067 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:17,068 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:17,069 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:26:17,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:17,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:17,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 04:26:17,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {1265#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); {1265#true} is VALID [2022-04-08 04:26:17,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 04:26:17,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 04:26:17,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret6 := main(); {1265#true} is VALID [2022-04-08 04:26:17,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {1265#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1265#true} is VALID [2022-04-08 04:26:17,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1265#true} is VALID [2022-04-08 04:26:17,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 04:26:17,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 04:26:17,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 04:26:17,238 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 04:26:17,238 INFO L290 TraceCheckUtils]: 11: Hoare triple {1265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,239 INFO L272 TraceCheckUtils]: 13: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1265#true} is VALID [2022-04-08 04:26:17,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 04:26:17,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 04:26:17,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 04:26:17,244 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,244 INFO L272 TraceCheckUtils]: 18: Hoare triple {1303#(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)); {1265#true} is VALID [2022-04-08 04:26:17,244 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 04:26:17,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 04:26:17,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 04:26:17,245 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,245 INFO L272 TraceCheckUtils]: 23: Hoare triple {1303#(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)); {1265#true} is VALID [2022-04-08 04:26:17,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 04:26:17,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 04:26:17,246 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 04:26:17,247 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,248 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:26:17,249 INFO L272 TraceCheckUtils]: 30: Hoare triple {1303#(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)); {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:17,250 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:17,250 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 04:26:17,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 04:26:17,250 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 04:26:17,251 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:26:17,251 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:17,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160987279] [2022-04-08 04:26:17,251 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:17,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1512261456] [2022-04-08 04:26:17,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1512261456] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:17,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:17,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:17,252 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:17,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1175119386] [2022-04-08 04:26:17,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1175119386] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:17,252 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:17,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:17,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1278044452] [2022-04-08 04:26:17,253 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:17,253 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 04:26:17,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:17,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:17,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:17,277 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:26:17,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:17,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:26:17,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:26:17,278 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:17,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:17,491 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 04:26:17,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:26:17,491 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 04:26:17,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:17,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:17,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 04:26:17,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:17,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 04:26:17,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 04:26:17,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:17,552 INFO L225 Difference]: With dead ends: 65 [2022-04-08 04:26:17,552 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 04:26:17,553 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:26:17,556 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:17,556 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 104 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:26:17,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 04:26:17,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 04:26:17,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:17,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 04:26:17,601 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 04:26:17,603 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 04:26:17,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:17,609 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 04:26:17,609 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 04:26:17,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:17,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:17,610 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 04:26:17,611 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 04:26:17,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:17,614 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 04:26:17,614 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 04:26:17,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:17,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:17,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:17,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:17,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 04:26:17,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 04:26:17,617 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 04:26:17,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:17,617 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 04:26:17,617 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:17,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 04:26:17,702 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-08 04:26:17,703 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 04:26:17,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 04:26:17,705 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:17,705 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:17,727 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-08 04:26:17,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:17,924 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:17,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:17,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 04:26:17,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:17,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1544763211] [2022-04-08 04:26:25,023 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:26:25,024 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:26:25,024 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:26:25,024 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 04:26:25,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:25,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764316191] [2022-04-08 04:26:25,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:25,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:25,035 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:25,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1528166415] [2022-04-08 04:26:25,036 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:25,036 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:25,036 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:25,037 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:25,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 04:26:25,113 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:25,113 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:25,114 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 04:26:25,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:25,135 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:25,915 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 04:26:25,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-08 04:26:25,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 04:26:25,916 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret6 := main(); {1733#true} is VALID [2022-04-08 04:26:25,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1733#true} is VALID [2022-04-08 04:26:25,916 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:25,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1759#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:26:25,917 INFO L290 TraceCheckUtils]: 8: Hoare triple {1759#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1763#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:26:25,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {1763#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1763#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:26:25,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1763#(not (= |assume_abort_if_not_#in~cond| 0))} {1733#true} #78#return; {1770#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 04:26:25,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {1770#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:25,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:25,920 INFO L272 TraceCheckUtils]: 13: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 04:26:25,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:25,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:25,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,922 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:25,922 INFO L272 TraceCheckUtils]: 18: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 04:26:25,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:25,922 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:25,922 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,927 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:25,927 INFO L272 TraceCheckUtils]: 23: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 04:26:25,927 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:25,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:25,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,940 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:25,941 INFO L290 TraceCheckUtils]: 28: Hoare triple {1774#(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; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:25,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:25,942 INFO L272 TraceCheckUtils]: 30: Hoare triple {1826#(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)); {1733#true} is VALID [2022-04-08 04:26:25,942 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:25,942 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:25,942 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,943 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #80#return; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:25,943 INFO L272 TraceCheckUtils]: 35: Hoare triple {1826#(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)); {1733#true} is VALID [2022-04-08 04:26:25,943 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:25,943 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:25,943 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:25,944 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:25,945 INFO L272 TraceCheckUtils]: 40: Hoare triple {1826#(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)); {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:25,945 INFO L290 TraceCheckUtils]: 41: Hoare triple {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1867#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:25,946 INFO L290 TraceCheckUtils]: 42: Hoare triple {1867#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 04:26:25,946 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 04:26:25,947 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 04:26:25,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:26:26,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 04:26:26,307 INFO L290 TraceCheckUtils]: 42: Hoare triple {1867#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 04:26:26,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1867#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:26,309 INFO L272 TraceCheckUtils]: 40: Hoare triple {1883#(= 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)); {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:26,310 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,310 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,310 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,310 INFO L272 TraceCheckUtils]: 35: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:26,315 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #80#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,315 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,319 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,320 INFO L272 TraceCheckUtils]: 30: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:26,320 INFO L290 TraceCheckUtils]: 29: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,334 INFO L290 TraceCheckUtils]: 28: Hoare triple {1883#(= 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; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,335 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,335 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,335 INFO L272 TraceCheckUtils]: 23: Hoare triple {1883#(= 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)); {1733#true} is VALID [2022-04-08 04:26:26,336 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,336 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,336 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,336 INFO L272 TraceCheckUtils]: 18: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:26,337 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #80#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,337 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,338 INFO L272 TraceCheckUtils]: 13: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:26,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:26:26,339 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 04:26:26,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret6 := main(); {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 04:26:26,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 04:26:26,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#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); {1733#true} is VALID [2022-04-08 04:26:26,341 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 04:26:26,341 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 04:26:26,341 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:26,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764316191] [2022-04-08 04:26:26,342 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:26,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1528166415] [2022-04-08 04:26:26,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1528166415] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:26:26,342 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:26:26,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 04:26:26,342 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:26,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1544763211] [2022-04-08 04:26:26,343 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1544763211] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:26,343 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:26,343 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:26:26,343 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927418279] [2022-04-08 04:26:26,343 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:26,344 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 04:26:26,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:26,344 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:26,367 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-08 04:26:26,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:26:26,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:26,367 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:26:26,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:26:26,368 INFO L87 Difference]: Start difference. First operand 57 states and 69 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:26,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,730 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 04:26:26,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:26:26,730 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 04:26:26,730 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:26,730 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:26,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 04:26:26,731 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:26,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 04:26:26,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 04:26:26,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:26,784 INFO L225 Difference]: With dead ends: 69 [2022-04-08 04:26:26,785 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 04:26:26,785 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:26:26,786 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:26,786 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 111 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:26:26,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 04:26:26,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 04:26:26,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:26,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:26:26,816 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:26:26,816 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:26:26,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,819 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 04:26:26,819 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 04:26:26,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:26,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:26,820 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 04:26:26,820 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 04:26:26,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,823 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 04:26:26,823 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 04:26:26,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:26,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:26,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:26,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:26,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 04:26:26,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 04:26:26,826 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 04:26:26,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:26,826 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 04:26:26,827 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 04:26:26,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 04:26:26,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:26,930 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 04:26:26,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 04:26:26,931 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:26,931 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:26,955 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-08 04:26:27,131 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:27,132 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:27,132 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:27,132 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 04:26:27,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:27,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [445406402] [2022-04-08 04:26:33,209 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:26:33,209 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:26:33,209 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:26:33,210 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 04:26:33,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:33,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019105231] [2022-04-08 04:26:33,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:33,210 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:33,229 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:33,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1896874805] [2022-04-08 04:26:33,229 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:26:33,229 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:33,229 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:33,234 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:33,246 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 04:26:33,300 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:26:33,300 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:33,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 04:26:33,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:33,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:38,119 INFO L272 TraceCheckUtils]: 0: Hoare triple {2408#true} call ULTIMATE.init(); {2408#true} is VALID [2022-04-08 04:26:38,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {2408#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); {2408#true} is VALID [2022-04-08 04:26:38,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2408#true} {2408#true} #94#return; {2408#true} is VALID [2022-04-08 04:26:38,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {2408#true} call #t~ret6 := main(); {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {2408#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L272 TraceCheckUtils]: 6: Hoare triple {2408#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L290 TraceCheckUtils]: 7: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2408#true} {2408#true} #78#return; {2408#true} is VALID [2022-04-08 04:26:38,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {2408#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {2446#(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; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,124 INFO L272 TraceCheckUtils]: 13: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 04:26:38,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,126 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2408#true} {2446#(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))} #80#return; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,126 INFO L272 TraceCheckUtils]: 18: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 04:26:38,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,131 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2408#true} {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,132 INFO L272 TraceCheckUtils]: 23: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 04:26:38,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,132 INFO L290 TraceCheckUtils]: 26: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,136 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2408#true} {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {2446#(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; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {2498#(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; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,138 INFO L272 TraceCheckUtils]: 30: Hoare triple {2498#(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)); {2408#true} is VALID [2022-04-08 04:26:38,138 INFO L290 TraceCheckUtils]: 31: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,138 INFO L290 TraceCheckUtils]: 32: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,139 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2408#true} {2498#(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))} #80#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,139 INFO L272 TraceCheckUtils]: 35: Hoare triple {2498#(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)); {2408#true} is VALID [2022-04-08 04:26:38,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,140 INFO L290 TraceCheckUtils]: 38: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,140 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2408#true} {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,140 INFO L272 TraceCheckUtils]: 40: Hoare triple {2498#(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)); {2408#true} is VALID [2022-04-08 04:26:38,141 INFO L290 TraceCheckUtils]: 41: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,141 INFO L290 TraceCheckUtils]: 42: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,141 INFO L290 TraceCheckUtils]: 43: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,142 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2408#true} {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {2498#(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); {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,143 INFO L290 TraceCheckUtils]: 46: Hoare triple {2550#(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; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,144 INFO L272 TraceCheckUtils]: 47: Hoare triple {2550#(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)); {2408#true} is VALID [2022-04-08 04:26:38,144 INFO L290 TraceCheckUtils]: 48: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,144 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,144 INFO L290 TraceCheckUtils]: 50: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,145 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2408#true} {2550#(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))} #86#return; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,145 INFO L272 TraceCheckUtils]: 52: Hoare triple {2550#(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)); {2408#true} is VALID [2022-04-08 04:26:38,145 INFO L290 TraceCheckUtils]: 53: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:38,146 INFO L290 TraceCheckUtils]: 54: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:38,146 INFO L290 TraceCheckUtils]: 55: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:38,147 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2408#true} {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:38,148 INFO L290 TraceCheckUtils]: 57: Hoare triple {2550#(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); {2587#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:38,149 INFO L290 TraceCheckUtils]: 58: Hoare triple {2587#(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; {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 04:26:38,150 INFO L290 TraceCheckUtils]: 59: Hoare triple {2591#(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; {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 04:26:38,152 INFO L272 TraceCheckUtils]: 60: Hoare triple {2591#(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)); {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:38,152 INFO L290 TraceCheckUtils]: 61: Hoare triple {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:38,153 INFO L290 TraceCheckUtils]: 62: Hoare triple {2602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2409#false} is VALID [2022-04-08 04:26:38,153 INFO L290 TraceCheckUtils]: 63: Hoare triple {2409#false} assume !false; {2409#false} is VALID [2022-04-08 04:26:38,155 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 04:26:38,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:26:45,266 INFO L290 TraceCheckUtils]: 63: Hoare triple {2409#false} assume !false; {2409#false} is VALID [2022-04-08 04:26:45,266 INFO L290 TraceCheckUtils]: 62: Hoare triple {2602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2409#false} is VALID [2022-04-08 04:26:45,267 INFO L290 TraceCheckUtils]: 61: Hoare triple {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:45,268 INFO L272 TraceCheckUtils]: 60: Hoare triple {2618#(= (+ 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)); {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:45,269 INFO L290 TraceCheckUtils]: 59: Hoare triple {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 04:26:45,271 INFO L290 TraceCheckUtils]: 58: Hoare triple {2625#(= (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; {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 04:26:45,279 INFO L290 TraceCheckUtils]: 57: Hoare triple {2629#(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); {2625#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 04:26:45,284 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2408#true} {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:26:45,284 INFO L290 TraceCheckUtils]: 55: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,284 INFO L290 TraceCheckUtils]: 54: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,284 INFO L290 TraceCheckUtils]: 53: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,284 INFO L272 TraceCheckUtils]: 52: Hoare triple {2629#(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)); {2408#true} is VALID [2022-04-08 04:26:45,286 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2408#true} {2629#(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)))))} #86#return; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:26:45,286 INFO L290 TraceCheckUtils]: 50: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,286 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,286 INFO L290 TraceCheckUtils]: 48: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,286 INFO L272 TraceCheckUtils]: 47: Hoare triple {2629#(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)); {2408#true} is VALID [2022-04-08 04:26:45,287 INFO L290 TraceCheckUtils]: 46: Hoare triple {2629#(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; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:26:45,288 INFO L290 TraceCheckUtils]: 45: Hoare triple {2666#(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); {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:26:45,289 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2408#true} {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:26:45,289 INFO L290 TraceCheckUtils]: 43: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,289 INFO L290 TraceCheckUtils]: 42: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,289 INFO L290 TraceCheckUtils]: 41: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,289 INFO L272 TraceCheckUtils]: 40: Hoare triple {2666#(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)); {2408#true} is VALID [2022-04-08 04:26:45,290 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2408#true} {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:26:45,290 INFO L290 TraceCheckUtils]: 38: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,290 INFO L290 TraceCheckUtils]: 37: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,291 INFO L272 TraceCheckUtils]: 35: Hoare triple {2666#(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)); {2408#true} is VALID [2022-04-08 04:26:45,291 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2408#true} {2666#(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))} #80#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:26:45,291 INFO L290 TraceCheckUtils]: 33: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,292 INFO L272 TraceCheckUtils]: 30: Hoare triple {2666#(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)); {2408#true} is VALID [2022-04-08 04:26:45,300 INFO L290 TraceCheckUtils]: 29: Hoare triple {2666#(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; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:26:45,303 INFO L290 TraceCheckUtils]: 28: Hoare triple {2718#(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; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:26:45,304 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2408#true} {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 04:26:45,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,305 INFO L272 TraceCheckUtils]: 23: Hoare triple {2718#(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)); {2408#true} is VALID [2022-04-08 04:26:45,305 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2408#true} {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 04:26:45,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,306 INFO L290 TraceCheckUtils]: 20: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,306 INFO L272 TraceCheckUtils]: 18: Hoare triple {2718#(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)); {2408#true} is VALID [2022-04-08 04:26:45,307 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2408#true} {2718#(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))} #80#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 04:26:45,307 INFO L290 TraceCheckUtils]: 16: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,307 INFO L290 TraceCheckUtils]: 15: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,307 INFO L272 TraceCheckUtils]: 13: Hoare triple {2718#(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)); {2408#true} is VALID [2022-04-08 04:26:45,308 INFO L290 TraceCheckUtils]: 12: Hoare triple {2718#(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; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 04:26:45,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {2408#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 04:26:45,310 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2408#true} {2408#true} #78#return; {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {2408#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {2408#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2408#true} is VALID [2022-04-08 04:26:45,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {2408#true} call #t~ret6 := main(); {2408#true} is VALID [2022-04-08 04:26:45,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2408#true} {2408#true} #94#return; {2408#true} is VALID [2022-04-08 04:26:45,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 04:26:45,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {2408#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); {2408#true} is VALID [2022-04-08 04:26:45,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {2408#true} call ULTIMATE.init(); {2408#true} is VALID [2022-04-08 04:26:45,312 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 04:26:45,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:45,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019105231] [2022-04-08 04:26:45,312 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:45,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1896874805] [2022-04-08 04:26:45,312 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1896874805] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:26:45,312 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:26:45,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 04:26:45,313 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:45,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [445406402] [2022-04-08 04:26:45,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [445406402] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:45,313 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:45,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:26:45,313 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1804372573] [2022-04-08 04:26:45,313 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:45,314 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 64 [2022-04-08 04:26:45,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:45,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:26:45,358 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-08 04:26:45,358 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:26:45,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:45,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:26:45,359 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:26:45,359 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:26:46,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:46,256 INFO L93 Difference]: Finished difference Result 124 states and 154 transitions. [2022-04-08 04:26:46,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:26:46,256 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 64 [2022-04-08 04:26:46,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:46,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:26:46,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 04:26:46,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:26:46,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 04:26:46,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 04:26:46,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:46,374 INFO L225 Difference]: With dead ends: 124 [2022-04-08 04:26:46,374 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 04:26:46,375 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:26:46,375 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:46,376 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 186 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:26:46,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 04:26:46,444 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 04:26:46,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:46,445 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:26:46,445 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:26:46,446 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:26:46,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:46,449 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 04:26:46,449 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 04:26:46,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:46,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:46,450 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 04:26:46,451 INFO L87 Difference]: Start difference. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 04:26:46,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:46,454 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 04:26:46,454 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 04:26:46,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:46,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:46,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:46,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:46,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:26:46,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 04:26:46,458 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 04:26:46,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:46,459 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 04:26:46,459 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:26:46,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 04:26:46,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:46,627 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 04:26:46,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 04:26:46,627 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:46,628 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:26:46,645 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 04:26:46,828 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:46,828 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:46,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:46,829 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 04:26:46,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:46,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1071126685] [2022-04-08 04:26:55,689 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:26:55,689 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:26:55,689 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:26:55,689 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 04:26:55,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:55,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101219726] [2022-04-08 04:26:55,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:55,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:55,701 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:55,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1176331891] [2022-04-08 04:26:55,701 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:26:55,701 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:55,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:55,708 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:55,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 04:26:55,779 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:26:55,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:55,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 04:26:55,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:55,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:56,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {3455#true} call ULTIMATE.init(); {3455#true} is VALID [2022-04-08 04:26:56,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {3455#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); {3455#true} is VALID [2022-04-08 04:26:56,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3455#true} {3455#true} #94#return; {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#true} call #t~ret6 := main(); {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {3455#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L272 TraceCheckUtils]: 6: Hoare triple {3455#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L290 TraceCheckUtils]: 7: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,795 INFO L290 TraceCheckUtils]: 8: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3455#true} {3455#true} #78#return; {3455#true} is VALID [2022-04-08 04:26:56,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {3455#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,803 INFO L290 TraceCheckUtils]: 12: Hoare triple {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,803 INFO L272 TraceCheckUtils]: 13: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 04:26:56,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,804 INFO L290 TraceCheckUtils]: 16: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,810 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3455#true} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #80#return; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,810 INFO L272 TraceCheckUtils]: 18: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 04:26:56,810 INFO L290 TraceCheckUtils]: 19: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,810 INFO L290 TraceCheckUtils]: 20: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,810 INFO L290 TraceCheckUtils]: 21: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,811 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3455#true} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,811 INFO L272 TraceCheckUtils]: 23: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 04:26:56,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {3455#true} ~cond := #in~cond; {3533#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:56,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {3533#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:56,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:56,813 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {3544#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,825 INFO L290 TraceCheckUtils]: 28: Hoare triple {3544#(and (= main_~d~0 (* main_~p~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; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:56,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {3548#(and (= 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; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:56,826 INFO L272 TraceCheckUtils]: 30: Hoare triple {3548#(and (= 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)); {3455#true} is VALID [2022-04-08 04:26:56,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,827 INFO L290 TraceCheckUtils]: 33: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,827 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3455#true} {3548#(and (= 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))} #80#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:56,828 INFO L272 TraceCheckUtils]: 35: Hoare triple {3548#(and (= 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)); {3455#true} is VALID [2022-04-08 04:26:56,828 INFO L290 TraceCheckUtils]: 36: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,828 INFO L290 TraceCheckUtils]: 38: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,833 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3455#true} {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:56,833 INFO L272 TraceCheckUtils]: 40: Hoare triple {3548#(and (= 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)); {3455#true} is VALID [2022-04-08 04:26:56,834 INFO L290 TraceCheckUtils]: 41: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,834 INFO L290 TraceCheckUtils]: 42: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,834 INFO L290 TraceCheckUtils]: 43: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,835 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3455#true} {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 04:26:56,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {3548#(and (= 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); {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 04:26:56,836 INFO L290 TraceCheckUtils]: 46: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 04:26:56,836 INFO L272 TraceCheckUtils]: 47: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (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)); {3455#true} is VALID [2022-04-08 04:26:56,837 INFO L290 TraceCheckUtils]: 48: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,837 INFO L290 TraceCheckUtils]: 49: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,837 INFO L290 TraceCheckUtils]: 50: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,838 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3455#true} {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} #86#return; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 04:26:56,838 INFO L272 TraceCheckUtils]: 52: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:26:56,838 INFO L290 TraceCheckUtils]: 53: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,838 INFO L290 TraceCheckUtils]: 54: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,838 INFO L290 TraceCheckUtils]: 55: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,839 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3455#true} {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 04:26:56,840 INFO L290 TraceCheckUtils]: 57: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (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); {3637#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,841 INFO L290 TraceCheckUtils]: 58: Hoare triple {3637#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,841 INFO L272 TraceCheckUtils]: 60: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 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)); {3455#true} is VALID [2022-04-08 04:26:56,841 INFO L290 TraceCheckUtils]: 61: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:26:56,841 INFO L290 TraceCheckUtils]: 62: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:26:56,842 INFO L290 TraceCheckUtils]: 63: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:26:56,842 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3455#true} {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:26:56,843 INFO L272 TraceCheckUtils]: 65: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 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)); {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:56,843 INFO L290 TraceCheckUtils]: 66: Hoare triple {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:56,844 INFO L290 TraceCheckUtils]: 67: Hoare triple {3667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3456#false} is VALID [2022-04-08 04:26:56,845 INFO L290 TraceCheckUtils]: 68: Hoare triple {3456#false} assume !false; {3456#false} is VALID [2022-04-08 04:26:56,845 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 23 proven. 27 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 04:26:56,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:27:23,779 INFO L290 TraceCheckUtils]: 68: Hoare triple {3456#false} assume !false; {3456#false} is VALID [2022-04-08 04:27:23,779 INFO L290 TraceCheckUtils]: 67: Hoare triple {3667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3456#false} is VALID [2022-04-08 04:27:23,780 INFO L290 TraceCheckUtils]: 66: Hoare triple {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:27:23,780 INFO L272 TraceCheckUtils]: 65: Hoare triple {3683#(= 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)); {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:27:23,781 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3455#true} {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:27:23,781 INFO L290 TraceCheckUtils]: 63: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,781 INFO L290 TraceCheckUtils]: 62: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,781 INFO L290 TraceCheckUtils]: 61: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,781 INFO L272 TraceCheckUtils]: 60: Hoare triple {3683#(= 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)); {3455#true} is VALID [2022-04-08 04:27:23,782 INFO L290 TraceCheckUtils]: 59: Hoare triple {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:27:23,782 INFO L290 TraceCheckUtils]: 58: Hoare triple {3683#(= 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; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:27:23,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {3708#(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); {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:27:23,796 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3455#true} {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {3708#(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-08 04:27:23,796 INFO L290 TraceCheckUtils]: 55: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,796 INFO L290 TraceCheckUtils]: 54: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,796 INFO L290 TraceCheckUtils]: 53: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,796 INFO L272 TraceCheckUtils]: 52: Hoare triple {3708#(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)); {3455#true} is VALID [2022-04-08 04:27:23,797 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3455#true} {3708#(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))))))} #86#return; {3708#(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-08 04:27:23,797 INFO L290 TraceCheckUtils]: 50: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,797 INFO L272 TraceCheckUtils]: 47: Hoare triple {3708#(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)); {3455#true} is VALID [2022-04-08 04:27:23,798 INFO L290 TraceCheckUtils]: 46: Hoare triple {3708#(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; {3708#(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-08 04:27:23,799 INFO L290 TraceCheckUtils]: 45: Hoare triple {3745#(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); {3708#(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-08 04:27:23,800 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3455#true} {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #84#return; {3745#(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-08 04:27:23,800 INFO L290 TraceCheckUtils]: 43: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,800 INFO L290 TraceCheckUtils]: 42: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,800 INFO L290 TraceCheckUtils]: 41: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,801 INFO L272 TraceCheckUtils]: 40: Hoare triple {3745#(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)); {3455#true} is VALID [2022-04-08 04:27:23,801 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3455#true} {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #82#return; {3745#(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-08 04:27:23,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,802 INFO L272 TraceCheckUtils]: 35: Hoare triple {3745#(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)); {3455#true} is VALID [2022-04-08 04:27:23,802 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3455#true} {3745#(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))} #80#return; {3745#(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-08 04:27:23,802 INFO L290 TraceCheckUtils]: 33: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,802 INFO L290 TraceCheckUtils]: 32: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,803 INFO L272 TraceCheckUtils]: 30: Hoare triple {3745#(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)); {3455#true} is VALID [2022-04-08 04:27:23,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {3745#(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; {3745#(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-08 04:27:23,808 INFO L290 TraceCheckUtils]: 28: Hoare triple {3797#(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; {3745#(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-08 04:27:23,809 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} {3455#true} #84#return; {3797#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:27:23,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:27:23,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {3810#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:27:23,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {3455#true} ~cond := #in~cond; {3810#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:27:23,810 INFO L272 TraceCheckUtils]: 23: Hoare triple {3455#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:27:23,810 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3455#true} {3455#true} #82#return; {3455#true} is VALID [2022-04-08 04:27:23,810 INFO L290 TraceCheckUtils]: 21: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L272 TraceCheckUtils]: 18: Hoare triple {3455#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3455#true} {3455#true} #80#return; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 16: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L272 TraceCheckUtils]: 13: Hoare triple {3455#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {3455#true} assume !false; {3455#true} is VALID [2022-04-08 04:27:23,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {3455#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3455#true} {3455#true} #78#return; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L272 TraceCheckUtils]: 6: Hoare triple {3455#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {3455#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#true} call #t~ret6 := main(); {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3455#true} {3455#true} #94#return; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 04:27:23,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {3455#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); {3455#true} is VALID [2022-04-08 04:27:23,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {3455#true} call ULTIMATE.init(); {3455#true} is VALID [2022-04-08 04:27:23,813 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 27 proven. 23 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 04:27:23,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:27:23,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101219726] [2022-04-08 04:27:23,813 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:27:23,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1176331891] [2022-04-08 04:27:23,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1176331891] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:27:23,814 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:27:23,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 04:27:23,814 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:27:23,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1071126685] [2022-04-08 04:27:23,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1071126685] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:27:23,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:27:23,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:27:23,814 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167500914] [2022-04-08 04:27:23,814 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:27:23,815 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:27:23,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:27:23,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:27:23,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:27:23,861 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:27:23,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:27:23,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:27:23,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:27:23,862 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:27:25,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:27:25,154 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 04:27:25,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:27:25,154 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 04:27:25,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:27:25,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:27:25,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-08 04:27:25,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:27:25,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-08 04:27:25,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2022-04-08 04:27:25,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:27:25,244 INFO L225 Difference]: With dead ends: 126 [2022-04-08 04:27:25,244 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 04:27:25,245 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 121 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:27:25,246 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 15 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 372 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:27:25,246 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 181 Invalid, 372 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:27:25,246 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 04:27:25,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 04:27:25,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:27:25,309 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:27:25,309 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:27:25,309 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:27:25,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:27:25,312 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 04:27:25,313 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 04:27:25,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:27:25,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:27:25,313 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 04:27:25,314 INFO L87 Difference]: Start difference. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 04:27:25,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:27:25,317 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 04:27:25,317 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 04:27:25,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:27:25,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:27:25,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:27:25,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:27:25,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:27:25,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 04:27:25,322 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 04:27:25,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:27:25,322 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 04:27:25,322 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 04:27:25,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 04:27:25,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:27:25,469 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 04:27:25,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 04:27:25,470 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:27:25,470 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:27:25,486 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-08 04:27:25,670 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:27:25,671 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:27:25,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:27:25,671 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 04:27:25,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:27:25,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [229052162] [2022-04-08 04:27:34,524 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:27:34,525 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:27:34,525 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:27:34,525 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 04:27:34,525 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:27:34,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843258015] [2022-04-08 04:27:34,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:27:34,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:27:34,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:27:34,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [866730140] [2022-04-08 04:27:34,547 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:27:34,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:27:34,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:27:34,550 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:27:34,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 04:27:34,628 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:27:34,629 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:27:34,630 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 04:27:34,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:27:34,650 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:27:34,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {4555#true} call ULTIMATE.init(); {4555#true} is VALID [2022-04-08 04:27:34,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {4555#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); {4555#true} is VALID [2022-04-08 04:27:34,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4555#true} {4555#true} #94#return; {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {4555#true} call #t~ret6 := main(); {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {4555#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L272 TraceCheckUtils]: 6: Hoare triple {4555#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4555#true} {4555#true} #78#return; {4555#true} is VALID [2022-04-08 04:27:34,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {4555#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,937 INFO L272 TraceCheckUtils]: 13: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:27:34,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,938 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,938 INFO L272 TraceCheckUtils]: 18: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,938 INFO L290 TraceCheckUtils]: 19: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,938 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,939 INFO L272 TraceCheckUtils]: 23: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,939 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {4593#(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; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,940 INFO L272 TraceCheckUtils]: 30: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:27:34,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,941 INFO L290 TraceCheckUtils]: 33: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,941 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,941 INFO L272 TraceCheckUtils]: 35: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,941 INFO L290 TraceCheckUtils]: 37: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,941 INFO L290 TraceCheckUtils]: 38: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,942 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,942 INFO L272 TraceCheckUtils]: 40: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,942 INFO L290 TraceCheckUtils]: 42: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,942 INFO L290 TraceCheckUtils]: 43: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,943 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,943 INFO L290 TraceCheckUtils]: 45: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,944 INFO L290 TraceCheckUtils]: 46: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,944 INFO L272 TraceCheckUtils]: 47: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,944 INFO L290 TraceCheckUtils]: 48: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,944 INFO L290 TraceCheckUtils]: 49: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,944 INFO L290 TraceCheckUtils]: 50: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,945 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,945 INFO L272 TraceCheckUtils]: 52: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:27:34,945 INFO L290 TraceCheckUtils]: 53: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,945 INFO L290 TraceCheckUtils]: 54: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,945 INFO L290 TraceCheckUtils]: 55: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,946 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #88#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,946 INFO L290 TraceCheckUtils]: 57: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:27:34,947 INFO L290 TraceCheckUtils]: 58: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:27:34,947 INFO L290 TraceCheckUtils]: 59: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:27:34,947 INFO L272 TraceCheckUtils]: 60: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:27:34,948 INFO L290 TraceCheckUtils]: 61: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,948 INFO L290 TraceCheckUtils]: 62: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,948 INFO L290 TraceCheckUtils]: 63: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,948 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4555#true} {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #86#return; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:27:34,949 INFO L272 TraceCheckUtils]: 65: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:27:34,949 INFO L290 TraceCheckUtils]: 66: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:27:34,949 INFO L290 TraceCheckUtils]: 67: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:27:34,949 INFO L290 TraceCheckUtils]: 68: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:27:34,949 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4555#true} {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #88#return; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:27:34,950 INFO L290 TraceCheckUtils]: 70: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4772#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-08 04:27:34,951 INFO L272 TraceCheckUtils]: 71: Hoare triple {4772#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:27:34,951 INFO L290 TraceCheckUtils]: 72: Hoare triple {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:27:34,951 INFO L290 TraceCheckUtils]: 73: Hoare triple {4780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4556#false} is VALID [2022-04-08 04:27:34,951 INFO L290 TraceCheckUtils]: 74: Hoare triple {4556#false} assume !false; {4556#false} is VALID [2022-04-08 04:27:34,952 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-08 04:27:34,952 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:03,376 INFO L290 TraceCheckUtils]: 74: Hoare triple {4556#false} assume !false; {4556#false} is VALID [2022-04-08 04:28:03,377 INFO L290 TraceCheckUtils]: 73: Hoare triple {4780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4556#false} is VALID [2022-04-08 04:28:03,377 INFO L290 TraceCheckUtils]: 72: Hoare triple {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:28:03,378 INFO L272 TraceCheckUtils]: 71: Hoare triple {4796#(= (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)); {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:28:03,378 INFO L290 TraceCheckUtils]: 70: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4796#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 04:28:03,379 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4555#true} {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #88#return; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:28:03,379 INFO L290 TraceCheckUtils]: 68: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,379 INFO L290 TraceCheckUtils]: 67: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,379 INFO L290 TraceCheckUtils]: 66: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,379 INFO L272 TraceCheckUtils]: 65: Hoare triple {4800#(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)); {4555#true} is VALID [2022-04-08 04:28:03,380 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4555#true} {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #86#return; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:28:03,380 INFO L290 TraceCheckUtils]: 63: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,380 INFO L290 TraceCheckUtils]: 62: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,380 INFO L290 TraceCheckUtils]: 61: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,380 INFO L272 TraceCheckUtils]: 60: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:28:03,381 INFO L290 TraceCheckUtils]: 59: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:28:03,382 INFO L290 TraceCheckUtils]: 58: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 04:28:03,382 INFO L290 TraceCheckUtils]: 57: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,383 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #88#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,383 INFO L290 TraceCheckUtils]: 55: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,383 INFO L290 TraceCheckUtils]: 53: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,383 INFO L272 TraceCheckUtils]: 52: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,384 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,384 INFO L290 TraceCheckUtils]: 50: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,384 INFO L272 TraceCheckUtils]: 47: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,384 INFO L290 TraceCheckUtils]: 46: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,385 INFO L290 TraceCheckUtils]: 45: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,385 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,386 INFO L290 TraceCheckUtils]: 43: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,386 INFO L290 TraceCheckUtils]: 42: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,386 INFO L290 TraceCheckUtils]: 41: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,386 INFO L272 TraceCheckUtils]: 40: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,386 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,386 INFO L290 TraceCheckUtils]: 38: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,387 INFO L290 TraceCheckUtils]: 37: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,387 INFO L290 TraceCheckUtils]: 36: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,387 INFO L272 TraceCheckUtils]: 35: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,387 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,387 INFO L290 TraceCheckUtils]: 33: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,387 INFO L290 TraceCheckUtils]: 32: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,388 INFO L272 TraceCheckUtils]: 30: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:28:03,389 INFO L290 TraceCheckUtils]: 29: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,389 INFO L290 TraceCheckUtils]: 28: Hoare triple {4593#(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; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,390 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,390 INFO L290 TraceCheckUtils]: 26: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,390 INFO L272 TraceCheckUtils]: 23: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,390 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,391 INFO L272 TraceCheckUtils]: 18: Hoare triple {4593#(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)); {4555#true} is VALID [2022-04-08 04:28:03,391 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,391 INFO L290 TraceCheckUtils]: 16: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,392 INFO L272 TraceCheckUtils]: 13: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:28:03,392 INFO L290 TraceCheckUtils]: 12: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {4555#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:28:03,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4555#true} {4555#true} #78#return; {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L272 TraceCheckUtils]: 6: Hoare triple {4555#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L290 TraceCheckUtils]: 5: Hoare triple {4555#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L272 TraceCheckUtils]: 4: Hoare triple {4555#true} call #t~ret6 := main(); {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4555#true} {4555#true} #94#return; {4555#true} is VALID [2022-04-08 04:28:03,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 04:28:03,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {4555#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); {4555#true} is VALID [2022-04-08 04:28:03,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {4555#true} call ULTIMATE.init(); {4555#true} is VALID [2022-04-08 04:28:03,394 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-08 04:28:03,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:03,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843258015] [2022-04-08 04:28:03,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:03,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [866730140] [2022-04-08 04:28:03,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [866730140] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:28:03,395 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:28:03,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 04:28:03,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:03,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [229052162] [2022-04-08 04:28:03,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [229052162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:03,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:03,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:28:03,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1749030018] [2022-04-08 04:28:03,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:03,396 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 75 [2022-04-08 04:28:03,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:03,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:03,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:03,431 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:28:03,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:03,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:28:03,432 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:28:03,432 INFO L87 Difference]: Start difference. First operand 103 states and 118 transitions. Second operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:03,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:03,862 INFO L93 Difference]: Finished difference Result 116 states and 134 transitions. [2022-04-08 04:28:03,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:28:03,862 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 75 [2022-04-08 04:28:03,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:03,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:03,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 04:28:03,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:03,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 04:28:03,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-08 04:28:03,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:03,933 INFO L225 Difference]: With dead ends: 116 [2022-04-08 04:28:03,934 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 04:28:03,934 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 140 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:28:03,935 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:03,935 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 153 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:28:03,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 04:28:03,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 90. [2022-04-08 04:28:03,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:03,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:03,989 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:03,990 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:03,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:04,000 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 04:28:04,000 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 04:28:04,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:04,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:04,001 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 92 states. [2022-04-08 04:28:04,001 INFO L87 Difference]: Start difference. First operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 92 states. [2022-04-08 04:28:04,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:04,006 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 04:28:04,006 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 04:28:04,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:04,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:04,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:04,007 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:04,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:28:04,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 106 transitions. [2022-04-08 04:28:04,010 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 106 transitions. Word has length 75 [2022-04-08 04:28:04,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:04,011 INFO L478 AbstractCegarLoop]: Abstraction has 90 states and 106 transitions. [2022-04-08 04:28:04,011 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 04:28:04,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 90 states and 106 transitions. [2022-04-08 04:28:04,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:04,161 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-08 04:28:04,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 04:28:04,162 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:04,162 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 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] [2022-04-08 04:28:04,178 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 04:28:04,367 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:04,367 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:04,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:04,368 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 04:28:04,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:04,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2112110418] [2022-04-08 04:28:13,647 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:28:13,648 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:28:13,648 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:28:13,648 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 04:28:13,648 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:13,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [378733756] [2022-04-08 04:28:13,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:13,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:13,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:13,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [796995425] [2022-04-08 04:28:13,660 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:28:13,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:13,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:13,672 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:28:13,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 04:28:13,726 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:28:13,726 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:13,727 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 04:28:13,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:13,759 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:29:25,967 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:29:28,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {5613#true} call ULTIMATE.init(); {5613#true} is VALID [2022-04-08 04:29:28,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {5613#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); {5613#true} is VALID [2022-04-08 04:29:28,570 INFO L290 TraceCheckUtils]: 2: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5613#true} {5613#true} #94#return; {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {5613#true} call #t~ret6 := main(); {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {5613#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {5613#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5613#true} {5613#true} #78#return; {5613#true} is VALID [2022-04-08 04:29:28,572 INFO L290 TraceCheckUtils]: 11: Hoare triple {5613#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,573 INFO L272 TraceCheckUtils]: 13: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:29:28,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,574 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,574 INFO L272 TraceCheckUtils]: 18: Hoare triple {5651#(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)); {5613#true} is VALID [2022-04-08 04:29:28,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,574 INFO L290 TraceCheckUtils]: 21: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,575 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,575 INFO L272 TraceCheckUtils]: 23: Hoare triple {5651#(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)); {5613#true} is VALID [2022-04-08 04:29:28,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,575 INFO L290 TraceCheckUtils]: 26: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,576 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {5651#(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; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,577 INFO L272 TraceCheckUtils]: 30: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:29:28,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,577 INFO L290 TraceCheckUtils]: 32: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,577 INFO L290 TraceCheckUtils]: 33: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,577 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,577 INFO L272 TraceCheckUtils]: 35: Hoare triple {5651#(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)); {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,578 INFO L272 TraceCheckUtils]: 40: Hoare triple {5651#(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)); {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L290 TraceCheckUtils]: 41: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,579 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,580 INFO L290 TraceCheckUtils]: 45: Hoare triple {5651#(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; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,580 INFO L290 TraceCheckUtils]: 46: Hoare triple {5754#(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; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,581 INFO L272 TraceCheckUtils]: 47: Hoare triple {5754#(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)); {5613#true} is VALID [2022-04-08 04:29:28,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,581 INFO L290 TraceCheckUtils]: 50: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,581 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5613#true} {5754#(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))} #80#return; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,582 INFO L272 TraceCheckUtils]: 52: Hoare triple {5754#(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)); {5613#true} is VALID [2022-04-08 04:29:28,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,582 INFO L290 TraceCheckUtils]: 54: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,582 INFO L290 TraceCheckUtils]: 55: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,582 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5613#true} {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,583 INFO L272 TraceCheckUtils]: 57: Hoare triple {5754#(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)); {5613#true} is VALID [2022-04-08 04:29:28,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {5613#true} ~cond := #in~cond; {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:28,583 INFO L290 TraceCheckUtils]: 59: Hoare triple {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:28,583 INFO L290 TraceCheckUtils]: 60: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:29:28,584 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,585 INFO L290 TraceCheckUtils]: 62: Hoare triple {5805#(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); {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,585 INFO L290 TraceCheckUtils]: 63: Hoare triple {5805#(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; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,585 INFO L272 TraceCheckUtils]: 64: Hoare triple {5805#(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)); {5613#true} is VALID [2022-04-08 04:29:28,585 INFO L290 TraceCheckUtils]: 65: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,585 INFO L290 TraceCheckUtils]: 66: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,586 INFO L290 TraceCheckUtils]: 67: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,586 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5613#true} {5805#(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))} #86#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,586 INFO L272 TraceCheckUtils]: 69: Hoare triple {5805#(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)); {5613#true} is VALID [2022-04-08 04:29:28,586 INFO L290 TraceCheckUtils]: 70: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:29:28,586 INFO L290 TraceCheckUtils]: 71: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:29:28,587 INFO L290 TraceCheckUtils]: 72: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:29:28,587 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5613#true} {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:29:28,591 INFO L290 TraceCheckUtils]: 74: Hoare triple {5805#(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); {5845#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 04:29:28,593 INFO L290 TraceCheckUtils]: 75: Hoare triple {5845#(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; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:29:28,593 INFO L290 TraceCheckUtils]: 76: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:29:28,594 INFO L272 TraceCheckUtils]: 77: Hoare triple {5849#(= (+ (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)); {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:29:28,594 INFO L290 TraceCheckUtils]: 78: Hoare triple {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:28,594 INFO L290 TraceCheckUtils]: 79: Hoare triple {5860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5614#false} is VALID [2022-04-08 04:29:28,595 INFO L290 TraceCheckUtils]: 80: Hoare triple {5614#false} assume !false; {5614#false} is VALID [2022-04-08 04:29:28,595 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 04:29:28,595 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:30:11,836 WARN L232 SmtUtils]: Spent 18.59s 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-08 04:31:38,133 INFO L290 TraceCheckUtils]: 80: Hoare triple {5614#false} assume !false; {5614#false} is VALID [2022-04-08 04:31:38,134 INFO L290 TraceCheckUtils]: 79: Hoare triple {5860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5614#false} is VALID [2022-04-08 04:31:38,134 INFO L290 TraceCheckUtils]: 78: Hoare triple {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:38,135 INFO L272 TraceCheckUtils]: 77: Hoare triple {5849#(= (+ (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)); {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:31:38,135 INFO L290 TraceCheckUtils]: 76: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,137 INFO L290 TraceCheckUtils]: 75: Hoare triple {5882#(= (* (+ 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; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,148 INFO L290 TraceCheckUtils]: 74: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5882#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-08 04:31:38,148 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5613#true} {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:31:38,149 INFO L290 TraceCheckUtils]: 72: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,149 INFO L290 TraceCheckUtils]: 71: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,149 INFO L290 TraceCheckUtils]: 70: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,149 INFO L272 TraceCheckUtils]: 69: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,149 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5613#true} {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #86#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:31:38,150 INFO L290 TraceCheckUtils]: 67: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,150 INFO L290 TraceCheckUtils]: 66: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,150 INFO L290 TraceCheckUtils]: 65: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,150 INFO L272 TraceCheckUtils]: 64: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,151 INFO L290 TraceCheckUtils]: 63: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:31:38,152 INFO L290 TraceCheckUtils]: 62: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:31:38,155 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #84#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:31:38,155 INFO L290 TraceCheckUtils]: 60: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:38,155 INFO L290 TraceCheckUtils]: 59: Hoare triple {5936#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:38,156 INFO L290 TraceCheckUtils]: 58: Hoare triple {5613#true} ~cond := #in~cond; {5936#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:31:38,156 INFO L272 TraceCheckUtils]: 57: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,157 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5613#true} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #82#return; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 04:31:38,157 INFO L290 TraceCheckUtils]: 55: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,157 INFO L290 TraceCheckUtils]: 54: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,157 INFO L290 TraceCheckUtils]: 53: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,157 INFO L272 TraceCheckUtils]: 52: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,158 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5613#true} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #80#return; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 04:31:38,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,158 INFO L290 TraceCheckUtils]: 49: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,158 INFO L290 TraceCheckUtils]: 48: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,158 INFO L272 TraceCheckUtils]: 47: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !false; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 04:31:38,162 INFO L290 TraceCheckUtils]: 45: Hoare triple {5849#(= (+ (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; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 04:31:38,163 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,163 INFO L290 TraceCheckUtils]: 41: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,163 INFO L272 TraceCheckUtils]: 40: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,164 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,164 INFO L290 TraceCheckUtils]: 37: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,164 INFO L290 TraceCheckUtils]: 36: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,164 INFO L272 TraceCheckUtils]: 35: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,165 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #80#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,165 INFO L272 TraceCheckUtils]: 30: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,165 INFO L290 TraceCheckUtils]: 29: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {5849#(= (+ (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; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,167 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,168 INFO L290 TraceCheckUtils]: 24: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,168 INFO L272 TraceCheckUtils]: 23: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,169 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,169 INFO L272 TraceCheckUtils]: 18: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,170 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #80#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,171 INFO L272 TraceCheckUtils]: 13: Hoare triple {5849#(= (+ (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)); {5613#true} is VALID [2022-04-08 04:31:38,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {5613#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:31:38,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5613#true} {5613#true} #78#return; {5613#true} is VALID [2022-04-08 04:31:38,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 04:31:38,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 04:31:38,172 INFO L272 TraceCheckUtils]: 6: Hoare triple {5613#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5613#true} is VALID [2022-04-08 04:31:38,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {5613#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5613#true} is VALID [2022-04-08 04:31:38,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {5613#true} call #t~ret6 := main(); {5613#true} is VALID [2022-04-08 04:31:38,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5613#true} {5613#true} #94#return; {5613#true} is VALID [2022-04-08 04:31:38,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 04:31:38,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {5613#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); {5613#true} is VALID [2022-04-08 04:31:38,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {5613#true} call ULTIMATE.init(); {5613#true} is VALID [2022-04-08 04:31:38,174 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 04:31:38,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:31:38,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [378733756] [2022-04-08 04:31:38,174 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:31:38,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796995425] [2022-04-08 04:31:38,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796995425] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:31:38,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:31:38,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-08 04:31:38,175 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:31:38,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2112110418] [2022-04-08 04:31:38,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2112110418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:38,175 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:38,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:31:38,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1096891623] [2022-04-08 04:31:38,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:31:38,176 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 04:31:38,177 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:31:38,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:31:38,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:38,228 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:31:38,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:38,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:31:38,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=163, Unknown=1, NotChecked=0, Total=210 [2022-04-08 04:31:38,229 INFO L87 Difference]: Start difference. First operand 90 states and 106 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:31:40,802 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-08 04:31:42,816 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:44,991 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:47,004 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:49,207 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:51,220 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:52,615 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.36s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:31:52,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:52,635 INFO L93 Difference]: Finished difference Result 116 states and 137 transitions. [2022-04-08 04:31:52,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:31:52,635 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 04:31:52,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:52,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:31:52,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 04:31:52,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:31:52,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 04:31:52,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 87 transitions. [2022-04-08 04:31:52,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:52,744 INFO L225 Difference]: With dead ends: 116 [2022-04-08 04:31:52,744 INFO L226 Difference]: Without dead ends: 104 [2022-04-08 04:31:52,745 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 25.9s TimeCoverageRelationStatistics Valid=59, Invalid=212, Unknown=1, NotChecked=0, Total=272 [2022-04-08 04:31:52,745 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 271 mSolverCounterSat, 23 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 271 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:52,745 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 142 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 271 Invalid, 4 Unknown, 0 Unchecked, 13.0s Time] [2022-04-08 04:31:52,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-08 04:31:52,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 103. [2022-04-08 04:31:52,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:52,787 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:31:52,788 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:31:52,788 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:31:52,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:52,791 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-08 04:31:52,791 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-08 04:31:52,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:52,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:52,792 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) Second operand 104 states. [2022-04-08 04:31:52,792 INFO L87 Difference]: Start difference. First operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) Second operand 104 states. [2022-04-08 04:31:52,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:52,795 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-08 04:31:52,795 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-08 04:31:52,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:52,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:52,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:52,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:52,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 04:31:52,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 123 transitions. [2022-04-08 04:31:52,798 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 123 transitions. Word has length 81 [2022-04-08 04:31:52,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:52,799 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 123 transitions. [2022-04-08 04:31:52,799 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:31:52,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 123 transitions. [2022-04-08 04:31:52,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:52,971 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 123 transitions. [2022-04-08 04:31:52,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 04:31:52,972 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:52,972 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 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] [2022-04-08 04:31:52,988 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 04:31:53,175 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:53,175 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:53,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:53,176 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 04:31:53,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:53,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [192111133] [2022-04-08 04:31:59,122 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:31:59,122 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:31:59,122 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:31:59,123 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 04:31:59,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:59,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1155743369] [2022-04-08 04:31:59,123 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:59,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:59,133 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:59,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1570157674] [2022-04-08 04:31:59,133 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:31:59,133 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:59,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:59,135 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:31:59,154 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 04:31:59,193 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:31:59,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:59,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 04:31:59,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:59,216 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:00,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {6763#true} call ULTIMATE.init(); {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {6763#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); {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6763#true} {6763#true} #94#return; {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {6763#true} call #t~ret6 := main(); {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {6763#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6763#true} is VALID [2022-04-08 04:32:00,790 INFO L272 TraceCheckUtils]: 6: Hoare triple {6763#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,791 INFO L290 TraceCheckUtils]: 7: Hoare triple {6763#true} ~cond := #in~cond; {6789#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:32:00,791 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6793#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:00,791 INFO L290 TraceCheckUtils]: 9: Hoare triple {6793#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6793#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:00,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6793#(not (= |assume_abort_if_not_#in~cond| 0))} {6763#true} #78#return; {6800#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 04:32:00,792 INFO L290 TraceCheckUtils]: 11: Hoare triple {6800#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:32:00,793 INFO L290 TraceCheckUtils]: 12: Hoare triple {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:32:00,793 INFO L272 TraceCheckUtils]: 13: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 04:32:00,793 INFO L290 TraceCheckUtils]: 14: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,793 INFO L290 TraceCheckUtils]: 15: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,793 INFO L290 TraceCheckUtils]: 16: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,793 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:32:00,794 INFO L272 TraceCheckUtils]: 18: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 04:32:00,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,794 INFO L290 TraceCheckUtils]: 21: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,794 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:32:00,794 INFO L272 TraceCheckUtils]: 23: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 04:32:00,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,795 INFO L290 TraceCheckUtils]: 26: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,795 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 04:32:00,796 INFO L290 TraceCheckUtils]: 28: Hoare triple {6804#(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; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,797 INFO L272 TraceCheckUtils]: 30: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 04:32:00,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,797 INFO L290 TraceCheckUtils]: 32: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,797 INFO L290 TraceCheckUtils]: 33: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,797 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #80#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,798 INFO L272 TraceCheckUtils]: 35: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 04:32:00,798 INFO L290 TraceCheckUtils]: 36: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,798 INFO L290 TraceCheckUtils]: 37: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,798 INFO L290 TraceCheckUtils]: 38: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,798 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,799 INFO L272 TraceCheckUtils]: 40: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 04:32:00,799 INFO L290 TraceCheckUtils]: 41: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,799 INFO L290 TraceCheckUtils]: 42: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,799 INFO L290 TraceCheckUtils]: 43: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,799 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,800 INFO L290 TraceCheckUtils]: 45: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,800 INFO L290 TraceCheckUtils]: 46: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !false; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,801 INFO L272 TraceCheckUtils]: 47: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,801 INFO L290 TraceCheckUtils]: 48: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,801 INFO L290 TraceCheckUtils]: 50: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,801 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #80#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,802 INFO L272 TraceCheckUtils]: 52: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,802 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,802 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #82#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,802 INFO L272 TraceCheckUtils]: 57: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,803 INFO L290 TraceCheckUtils]: 59: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,803 INFO L290 TraceCheckUtils]: 60: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,803 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #84#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,804 INFO L290 TraceCheckUtils]: 62: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,804 INFO L290 TraceCheckUtils]: 63: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !false; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,804 INFO L272 TraceCheckUtils]: 64: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,804 INFO L290 TraceCheckUtils]: 67: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,805 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6763#true} {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #86#return; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,805 INFO L272 TraceCheckUtils]: 69: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,805 INFO L290 TraceCheckUtils]: 70: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,805 INFO L290 TraceCheckUtils]: 71: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,805 INFO L290 TraceCheckUtils]: 72: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,811 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6763#true} {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 04:32:00,813 INFO L290 TraceCheckUtils]: 74: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,813 INFO L290 TraceCheckUtils]: 75: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,814 INFO L290 TraceCheckUtils]: 76: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,814 INFO L272 TraceCheckUtils]: 77: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:00,814 INFO L290 TraceCheckUtils]: 78: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:00,815 INFO L290 TraceCheckUtils]: 79: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:00,815 INFO L290 TraceCheckUtils]: 80: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:00,816 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #86#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:00,817 INFO L272 TraceCheckUtils]: 82: Hoare triple {6856#(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)); {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:00,817 INFO L290 TraceCheckUtils]: 83: Hoare triple {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:00,818 INFO L290 TraceCheckUtils]: 84: Hoare triple {7025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6764#false} is VALID [2022-04-08 04:32:00,818 INFO L290 TraceCheckUtils]: 85: Hoare triple {6764#false} assume !false; {6764#false} is VALID [2022-04-08 04:32:00,818 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 04:32:00,818 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:32:11,643 INFO L290 TraceCheckUtils]: 85: Hoare triple {6764#false} assume !false; {6764#false} is VALID [2022-04-08 04:32:11,643 INFO L290 TraceCheckUtils]: 84: Hoare triple {7025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6764#false} is VALID [2022-04-08 04:32:11,644 INFO L290 TraceCheckUtils]: 83: Hoare triple {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:11,644 INFO L272 TraceCheckUtils]: 82: Hoare triple {7041#(= 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)); {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:11,645 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6763#true} {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:11,645 INFO L290 TraceCheckUtils]: 80: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,645 INFO L290 TraceCheckUtils]: 79: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,645 INFO L290 TraceCheckUtils]: 78: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,646 INFO L272 TraceCheckUtils]: 77: Hoare triple {7041#(= 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)); {6763#true} is VALID [2022-04-08 04:32:11,646 INFO L290 TraceCheckUtils]: 76: Hoare triple {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:11,646 INFO L290 TraceCheckUtils]: 75: Hoare triple {7041#(= 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; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:11,669 INFO L290 TraceCheckUtils]: 74: Hoare triple {7066#(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); {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:32:11,669 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6763#true} {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:32:11,670 INFO L290 TraceCheckUtils]: 72: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,670 INFO L290 TraceCheckUtils]: 71: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,670 INFO L290 TraceCheckUtils]: 70: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,670 INFO L272 TraceCheckUtils]: 69: Hoare triple {7066#(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)); {6763#true} is VALID [2022-04-08 04:32:11,671 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6763#true} {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #86#return; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:32:11,671 INFO L290 TraceCheckUtils]: 67: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,671 INFO L290 TraceCheckUtils]: 66: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,671 INFO L290 TraceCheckUtils]: 65: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,671 INFO L272 TraceCheckUtils]: 64: Hoare triple {7066#(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)); {6763#true} is VALID [2022-04-08 04:32:11,672 INFO L290 TraceCheckUtils]: 63: Hoare triple {7066#(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; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:32:11,674 INFO L290 TraceCheckUtils]: 62: Hoare triple {7103#(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); {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 04:32:11,674 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6763#true} {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 04:32:11,674 INFO L290 TraceCheckUtils]: 60: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,674 INFO L290 TraceCheckUtils]: 59: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,675 INFO L290 TraceCheckUtils]: 58: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,675 INFO L272 TraceCheckUtils]: 57: Hoare triple {7103#(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)); {6763#true} is VALID [2022-04-08 04:32:11,675 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6763#true} {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 04:32:11,676 INFO L290 TraceCheckUtils]: 55: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,676 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,676 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,676 INFO L272 TraceCheckUtils]: 52: Hoare triple {7103#(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)); {6763#true} is VALID [2022-04-08 04:32:11,677 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6763#true} {7103#(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))))))} #80#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 04:32:11,677 INFO L290 TraceCheckUtils]: 50: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,677 INFO L290 TraceCheckUtils]: 49: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,677 INFO L290 TraceCheckUtils]: 48: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,677 INFO L272 TraceCheckUtils]: 47: Hoare triple {7103#(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)); {6763#true} is VALID [2022-04-08 04:32:11,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {7103#(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; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 04:32:11,683 INFO L290 TraceCheckUtils]: 45: Hoare triple {7155#(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; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 04:32:11,684 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,684 INFO L290 TraceCheckUtils]: 43: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,684 INFO L290 TraceCheckUtils]: 41: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,684 INFO L272 TraceCheckUtils]: 40: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,685 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,685 INFO L290 TraceCheckUtils]: 38: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,685 INFO L290 TraceCheckUtils]: 37: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,685 INFO L272 TraceCheckUtils]: 35: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,686 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #80#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,686 INFO L272 TraceCheckUtils]: 30: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,689 INFO L290 TraceCheckUtils]: 28: Hoare triple {7155#(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; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,689 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,690 INFO L290 TraceCheckUtils]: 25: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,690 INFO L272 TraceCheckUtils]: 23: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,690 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,691 INFO L290 TraceCheckUtils]: 19: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,691 INFO L272 TraceCheckUtils]: 18: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,692 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #80#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,692 INFO L290 TraceCheckUtils]: 16: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,692 INFO L290 TraceCheckUtils]: 15: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,692 INFO L272 TraceCheckUtils]: 13: Hoare triple {7155#(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)); {6763#true} is VALID [2022-04-08 04:32:11,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,693 INFO L290 TraceCheckUtils]: 11: Hoare triple {6763#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 04:32:11,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6763#true} {6763#true} #78#return; {6763#true} is VALID [2022-04-08 04:32:11,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {6763#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {6763#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {6763#true} call #t~ret6 := main(); {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6763#true} {6763#true} #94#return; {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 04:32:11,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {6763#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); {6763#true} is VALID [2022-04-08 04:32:11,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {6763#true} call ULTIMATE.init(); {6763#true} is VALID [2022-04-08 04:32:11,695 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 13 refuted. 0 times theorem prover too weak. 269 trivial. 0 not checked. [2022-04-08 04:32:11,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:32:11,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1155743369] [2022-04-08 04:32:11,696 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:32:11,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570157674] [2022-04-08 04:32:11,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570157674] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:32:11,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:32:11,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 04:32:11,696 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:32:11,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [192111133] [2022-04-08 04:32:11,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [192111133] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:11,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:11,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:32:11,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1736738474] [2022-04-08 04:32:11,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:32:11,698 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 04:32:11,698 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:32:11,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:32:11,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:11,750 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:32:11,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:11,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:32:11,750 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:32:11,751 INFO L87 Difference]: Start difference. First operand 103 states and 123 transitions. Second operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:32:13,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:13,503 INFO L93 Difference]: Finished difference Result 191 states and 248 transitions. [2022-04-08 04:32:13,503 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:32:13,504 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 04:32:13,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:32:13,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:32:13,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 04:32:13,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:32:13,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 04:32:13,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 111 transitions. [2022-04-08 04:32:13,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:13,621 INFO L225 Difference]: With dead ends: 191 [2022-04-08 04:32:13,621 INFO L226 Difference]: Without dead ends: 144 [2022-04-08 04:32:13,622 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 155 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:32:13,622 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 29 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 339 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 366 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 339 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:32:13,622 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 291 Invalid, 366 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 339 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 04:32:13,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-08 04:32:13,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 144. [2022-04-08 04:32:13,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:32:13,723 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:32:13,723 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:32:13,724 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:32:13,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:13,729 INFO L93 Difference]: Finished difference Result 144 states and 176 transitions. [2022-04-08 04:32:13,729 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 04:32:13,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:13,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:13,730 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) Second operand 144 states. [2022-04-08 04:32:13,730 INFO L87 Difference]: Start difference. First operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) Second operand 144 states. [2022-04-08 04:32:13,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:13,734 INFO L93 Difference]: Finished difference Result 144 states and 176 transitions. [2022-04-08 04:32:13,734 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 04:32:13,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:13,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:13,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:32:13,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:32:13,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:32:13,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 176 transitions. [2022-04-08 04:32:13,739 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 176 transitions. Word has length 86 [2022-04-08 04:32:13,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:32:13,740 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 176 transitions. [2022-04-08 04:32:13,740 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:32:13,740 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 176 transitions. [2022-04-08 04:32:13,983 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-08 04:32:13,984 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 04:32:13,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 04:32:13,984 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:32:13,985 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:32:14,001 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 04:32:14,185 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 04:32:14,185 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:32:14,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:32:14,186 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-08 04:32:14,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:14,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [473780069] [2022-04-08 04:32:19,704 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:32:19,705 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:32:19,705 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:32:19,705 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-08 04:32:19,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:32:19,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2135452586] [2022-04-08 04:32:19,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:32:19,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:32:19,716 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:32:19,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1148772980] [2022-04-08 04:32:19,717 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:32:19,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:19,717 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:32:19,728 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:32:19,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 04:32:19,823 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:32:19,823 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:32:19,824 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 04:32:19,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:32:19,843 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:47,588 INFO L272 TraceCheckUtils]: 0: Hoare triple {8255#true} call ULTIMATE.init(); {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {8255#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); {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8255#true} {8255#true} #94#return; {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {8255#true} call #t~ret6 := main(); {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {8255#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {8255#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,590 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#true} {8255#true} #78#return; {8255#true} is VALID [2022-04-08 04:32:47,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {8255#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8293#(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-08 04:32:47,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {8293#(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; {8293#(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-08 04:32:47,595 INFO L272 TraceCheckUtils]: 13: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 04:32:47,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,600 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8255#true} {8293#(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))} #80#return; {8293#(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-08 04:32:47,600 INFO L272 TraceCheckUtils]: 18: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 04:32:47,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,600 INFO L290 TraceCheckUtils]: 21: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,601 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8255#true} {8293#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {8293#(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-08 04:32:47,601 INFO L272 TraceCheckUtils]: 23: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 04:32:47,601 INFO L290 TraceCheckUtils]: 24: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,602 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8255#true} {8293#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {8293#(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-08 04:32:47,605 INFO L290 TraceCheckUtils]: 28: Hoare triple {8293#(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; {8345#(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-08 04:32:47,606 INFO L290 TraceCheckUtils]: 29: Hoare triple {8345#(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; {8345#(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-08 04:32:47,606 INFO L272 TraceCheckUtils]: 30: Hoare triple {8345#(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)); {8255#true} is VALID [2022-04-08 04:32:47,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,606 INFO L290 TraceCheckUtils]: 32: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,606 INFO L290 TraceCheckUtils]: 33: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,607 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8255#true} {8345#(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))} #80#return; {8345#(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-08 04:32:47,607 INFO L272 TraceCheckUtils]: 35: Hoare triple {8345#(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)); {8255#true} is VALID [2022-04-08 04:32:47,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,607 INFO L290 TraceCheckUtils]: 38: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,608 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8255#true} {8345#(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))} #82#return; {8345#(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-08 04:32:47,608 INFO L272 TraceCheckUtils]: 40: Hoare triple {8345#(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)); {8255#true} is VALID [2022-04-08 04:32:47,608 INFO L290 TraceCheckUtils]: 41: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,609 INFO L290 TraceCheckUtils]: 42: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,609 INFO L290 TraceCheckUtils]: 43: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,609 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8255#true} {8345#(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))} #84#return; {8345#(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-08 04:32:47,612 INFO L290 TraceCheckUtils]: 45: Hoare triple {8345#(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; {8397#(and (<= (div (div 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) (<= (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-08 04:32:47,612 INFO L290 TraceCheckUtils]: 46: Hoare triple {8397#(and (<= (div (div 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) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8397#(and (<= (div (div 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) (<= (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-08 04:32:47,612 INFO L272 TraceCheckUtils]: 47: Hoare triple {8397#(and (<= (div (div 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) (<= (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)); {8255#true} is VALID [2022-04-08 04:32:47,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,614 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8255#true} {8397#(and (<= (div (div 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) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #80#return; {8397#(and (<= (div (div 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) (<= (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-08 04:32:47,614 INFO L272 TraceCheckUtils]: 52: Hoare triple {8397#(and (<= (div (div 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) (<= (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)); {8255#true} is VALID [2022-04-08 04:32:47,614 INFO L290 TraceCheckUtils]: 53: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,614 INFO L290 TraceCheckUtils]: 54: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,614 INFO L290 TraceCheckUtils]: 55: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,615 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8255#true} {8397#(and (<= (div (div 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) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {8397#(and (<= (div (div 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) (<= (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-08 04:32:47,615 INFO L272 TraceCheckUtils]: 57: Hoare triple {8397#(and (<= (div (div 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) (<= (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)); {8255#true} is VALID [2022-04-08 04:32:47,615 INFO L290 TraceCheckUtils]: 58: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,615 INFO L290 TraceCheckUtils]: 59: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,615 INFO L290 TraceCheckUtils]: 60: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,616 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8255#true} {8397#(and (<= (div (div 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) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {8397#(and (<= (div (div 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) (<= (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-08 04:32:47,617 INFO L290 TraceCheckUtils]: 62: Hoare triple {8397#(and (<= (div (div 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) (<= (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); {8449#(and (<= (div (div 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) (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-08 04:32:47,617 INFO L290 TraceCheckUtils]: 63: Hoare triple {8449#(and (<= (div (div 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) (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; {8449#(and (<= (div (div 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) (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-08 04:32:47,618 INFO L272 TraceCheckUtils]: 64: Hoare triple {8449#(and (<= (div (div 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) (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)); {8255#true} is VALID [2022-04-08 04:32:47,618 INFO L290 TraceCheckUtils]: 65: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,618 INFO L290 TraceCheckUtils]: 66: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,618 INFO L290 TraceCheckUtils]: 67: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,619 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8255#true} {8449#(and (<= (div (div 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) (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))} #86#return; {8449#(and (<= (div (div 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) (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-08 04:32:47,619 INFO L272 TraceCheckUtils]: 69: Hoare triple {8449#(and (<= (div (div 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) (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)); {8255#true} is VALID [2022-04-08 04:32:47,619 INFO L290 TraceCheckUtils]: 70: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,619 INFO L290 TraceCheckUtils]: 71: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,619 INFO L290 TraceCheckUtils]: 72: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,620 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8255#true} {8449#(and (<= (div (div 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) (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))} #88#return; {8449#(and (<= (div (div 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) (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-08 04:32:47,622 INFO L290 TraceCheckUtils]: 74: Hoare triple {8449#(and (<= (div (div 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) (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); {8486#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} is VALID [2022-04-08 04:32:47,624 INFO L290 TraceCheckUtils]: 75: Hoare triple {8486#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 04:32:47,625 INFO L290 TraceCheckUtils]: 76: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !false; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 04:32:47,625 INFO L272 TraceCheckUtils]: 77: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:32:47,625 INFO L290 TraceCheckUtils]: 78: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:32:47,626 INFO L290 TraceCheckUtils]: 79: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:32:47,626 INFO L290 TraceCheckUtils]: 80: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:32:47,626 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8255#true} {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #86#return; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 04:32:47,627 INFO L272 TraceCheckUtils]: 82: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:32:47,627 INFO L290 TraceCheckUtils]: 83: Hoare triple {8255#true} ~cond := #in~cond; {8515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:47,627 INFO L290 TraceCheckUtils]: 84: Hoare triple {8515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:47,628 INFO L290 TraceCheckUtils]: 85: Hoare triple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:47,629 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #88#return; {8526#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 04:32:47,630 INFO L290 TraceCheckUtils]: 87: Hoare triple {8526#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 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); {8530#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= main_~d~0 (div (* main_~q~0 (mod main_~B~0 4294967296)) 2)) (< (* main_~q~0 (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) 1)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* 2 (* main_~q~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 04:32:47,634 INFO L290 TraceCheckUtils]: 88: Hoare triple {8530#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= main_~d~0 (div (* main_~q~0 (mod main_~B~0 4294967296)) 2)) (< (* main_~q~0 (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) 1)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* 2 (* 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; {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:32:47,635 INFO L290 TraceCheckUtils]: 89: Hoare triple {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !false; {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 04:32:47,635 INFO L272 TraceCheckUtils]: 90: Hoare triple {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 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)); {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:47,636 INFO L290 TraceCheckUtils]: 91: Hoare triple {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:47,636 INFO L290 TraceCheckUtils]: 92: Hoare triple {8545#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8256#false} is VALID [2022-04-08 04:32:47,636 INFO L290 TraceCheckUtils]: 93: Hoare triple {8256#false} assume !false; {8256#false} is VALID [2022-04-08 04:32:47,637 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 61 proven. 25 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 04:32:47,637 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:24,808 WARN L232 SmtUtils]: Spent 14.46s on a formula simplification that was a NOOP. DAG size: 58 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:35:04,188 WARN L232 SmtUtils]: Spent 17.41s on a formula simplification that was a NOOP. DAG size: 60 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 04:35:43,158 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse8 (mod c_main_~B~0 4294967296)) (.cse19 (div c_main_~p~0 2)) (.cse21 (< c_main_~d~0 0)) (.cse4 (= (mod c_main_~d~0 2) 0)) (.cse2 (div c_main_~d~0 2))) (let ((.cse3 (+ .cse2 1)) (.cse0 (and .cse21 (not .cse4))) (.cse13 (mod c_main_~A~0 4294967296)) (.cse9 (* .cse8 .cse19)) (.cse5 (= (mod c_main_~p~0 2) 0)) (.cse6 (< c_main_~p~0 0))) (and (let ((.cse20 (+ .cse19 1))) (let ((.cse1 (* .cse20 .cse8))) (or (and (or .cse0 (not (= .cse1 .cse2))) (or (not (= .cse3 .cse1)) .cse4)) .cse5 (not .cse6) (let ((.cse18 (div .cse20 2)) (.cse14 (= (mod .cse20 2) 0))) (let ((.cse15 (not .cse14)) (.cse16 (* (+ c_main_~q~0 .cse18 .cse19 1) .cse8)) (.cse10 (* (- 1) (div .cse1 2))) (.cse11 (* .cse8 (+ c_main_~q~0 .cse18 2 .cse19))) (.cse12 (* (- 1) .cse1)) (.cse7 (div (+ .cse8 .cse9) 2)) (.cse17 (= (mod .cse1 2) 0))) (and (or (not (<= (+ .cse7 .cse8 .cse9 1) c_main_~r~0)) (and (or (= (+ (- 1) .cse10 .cse11 c_main_~r~0 .cse12) .cse13) .cse14) (or .cse15 (= (+ (- 1) .cse10 c_main_~r~0 .cse16 .cse12) .cse13))) .cse17) (or (and (or .cse15 (= .cse13 (+ .cse10 c_main_~r~0 .cse16 .cse12))) (or (= .cse13 (+ .cse10 .cse11 c_main_~r~0 .cse12)) .cse14)) (not (<= (+ .cse7 .cse8 .cse9) c_main_~r~0)) (not .cse17)))))))) (or (and (or (not (= .cse3 .cse9)) .cse4 (not .cse21)) (or .cse0 (not (= .cse2 .cse9)))) (let ((.cse30 (= (mod .cse19 2) 0)) (.cse22 (div .cse9 2)) (.cse32 (div .cse19 2))) (let ((.cse31 (* .cse8 (+ c_main_~q~0 .cse19 .cse32 1))) (.cse27 (* (- 1) .cse22)) (.cse28 (* (- 1) .cse9)) (.cse29 (* .cse8 (+ c_main_~q~0 .cse19 .cse32))) (.cse25 (not .cse30)) (.cse23 (= (mod .cse9 2) 0)) (.cse24 (< .cse9 0))) (and (or (not (<= (+ .cse9 .cse22) c_main_~r~0)) (and (not .cse23) .cse24) (let ((.cse26 (< .cse19 0))) (and (or (and .cse25 .cse26) (= (+ .cse27 .cse28 .cse29 c_main_~r~0) .cse13)) (or (not .cse26) .cse30 (= .cse13 (+ .cse31 .cse27 .cse28 c_main_~r~0)))))) (or (and (or .cse30 (= .cse13 (+ (- 1) .cse31 .cse27 .cse28 c_main_~r~0))) (or (= (+ (- 1) .cse27 .cse28 .cse29 c_main_~r~0) .cse13) .cse25)) .cse23 (not (<= (+ .cse9 1 .cse22) c_main_~r~0)) (not .cse24))))) (and (not .cse5) .cse6))))) is different from true [2022-04-08 04:37:31,141 INFO L290 TraceCheckUtils]: 93: Hoare triple {8256#false} assume !false; {8256#false} is VALID [2022-04-08 04:37:31,141 INFO L290 TraceCheckUtils]: 92: Hoare triple {8545#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8256#false} is VALID [2022-04-08 04:37:31,142 INFO L290 TraceCheckUtils]: 91: Hoare triple {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:31,142 INFO L272 TraceCheckUtils]: 90: Hoare triple {8561#(= (+ 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)); {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:31,147 INFO L290 TraceCheckUtils]: 89: Hoare triple {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 04:37:31,150 INFO L290 TraceCheckUtils]: 88: Hoare triple {8568#(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; {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 04:37:31,164 INFO L290 TraceCheckUtils]: 87: Hoare triple {8572#(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); {8568#(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-08 04:37:31,167 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #88#return; {8572#(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-08 04:37:31,168 INFO L290 TraceCheckUtils]: 85: Hoare triple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:31,168 INFO L290 TraceCheckUtils]: 84: Hoare triple {8586#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:31,169 INFO L290 TraceCheckUtils]: 83: Hoare triple {8255#true} ~cond := #in~cond; {8586#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:37:31,169 INFO L272 TraceCheckUtils]: 82: Hoare triple {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,170 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8255#true} {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #86#return; {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 04:37:31,170 INFO L290 TraceCheckUtils]: 80: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,170 INFO L290 TraceCheckUtils]: 79: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,170 INFO L290 TraceCheckUtils]: 78: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,170 INFO L272 TraceCheckUtils]: 77: Hoare triple {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= 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)); {8255#true} is VALID [2022-04-08 04:37:31,173 INFO L290 TraceCheckUtils]: 76: Hoare triple {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 04:37:31,197 INFO L290 TraceCheckUtils]: 75: Hoare triple {8611#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8576#(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)) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0) (and (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)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 04:37:31,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8611#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-08 04:37:31,414 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8255#true} {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #88#return; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 04:37:31,415 INFO L290 TraceCheckUtils]: 72: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,415 INFO L272 TraceCheckUtils]: 69: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,416 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8255#true} {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #86#return; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 04:37:31,416 INFO L290 TraceCheckUtils]: 67: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,417 INFO L290 TraceCheckUtils]: 66: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,417 INFO L290 TraceCheckUtils]: 65: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,417 INFO L272 TraceCheckUtils]: 64: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,421 INFO L290 TraceCheckUtils]: 63: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !false; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 04:37:31,441 INFO L290 TraceCheckUtils]: 62: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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 (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 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)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ 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 (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ 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)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (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))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 04:37:31,442 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #84#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:37:31,442 INFO L290 TraceCheckUtils]: 60: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,442 INFO L290 TraceCheckUtils]: 59: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,442 INFO L290 TraceCheckUtils]: 58: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,442 INFO L272 TraceCheckUtils]: 57: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~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)); {8255#true} is VALID [2022-04-08 04:37:31,443 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #82#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:37:31,443 INFO L290 TraceCheckUtils]: 55: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,443 INFO L290 TraceCheckUtils]: 54: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,443 INFO L290 TraceCheckUtils]: 53: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,444 INFO L272 TraceCheckUtils]: 52: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~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)); {8255#true} is VALID [2022-04-08 04:37:31,444 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #80#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:37:31,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,445 INFO L290 TraceCheckUtils]: 48: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,445 INFO L272 TraceCheckUtils]: 47: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:37:31,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ 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))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:37:31,580 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #84#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 04:37:31,580 INFO L290 TraceCheckUtils]: 43: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,580 INFO L290 TraceCheckUtils]: 42: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,581 INFO L272 TraceCheckUtils]: 40: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,581 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #82#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 04:37:31,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,582 INFO L272 TraceCheckUtils]: 35: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,582 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #80#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 04:37:31,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:31,583 INFO L290 TraceCheckUtils]: 32: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:31,583 INFO L290 TraceCheckUtils]: 31: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:31,583 INFO L272 TraceCheckUtils]: 30: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:31,584 INFO L290 TraceCheckUtils]: 29: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} assume !false; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 04:37:32,181 INFO L290 TraceCheckUtils]: 28: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 04:37:32,182 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #84#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 04:37:32,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:32,182 INFO L290 TraceCheckUtils]: 25: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:32,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:32,182 INFO L272 TraceCheckUtils]: 23: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:32,183 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #82#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 04:37:32,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:32,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:32,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:32,183 INFO L272 TraceCheckUtils]: 18: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:32,184 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #80#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 04:37:32,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:32,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:32,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:32,184 INFO L272 TraceCheckUtils]: 13: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:32,185 INFO L290 TraceCheckUtils]: 12: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} assume !false; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 04:37:32,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {8255#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 04:37:32,185 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#true} {8255#true} #78#return; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 8: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {8255#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {8255#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L272 TraceCheckUtils]: 4: Hoare triple {8255#true} call #t~ret6 := main(); {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8255#true} {8255#true} #94#return; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {8255#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); {8255#true} is VALID [2022-04-08 04:37:32,186 INFO L272 TraceCheckUtils]: 0: Hoare triple {8255#true} call ULTIMATE.init(); {8255#true} is VALID [2022-04-08 04:37:32,187 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 61 proven. 19 refuted. 0 times theorem prover too weak. 276 trivial. 6 not checked. [2022-04-08 04:37:32,188 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:32,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2135452586] [2022-04-08 04:37:32,188 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:32,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1148772980] [2022-04-08 04:37:32,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1148772980] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:32,188 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:32,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-08 04:37:32,189 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:32,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [473780069] [2022-04-08 04:37:32,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [473780069] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:32,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:32,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 04:37:32,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [599347821] [2022-04-08 04:37:32,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:32,190 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 94 [2022-04-08 04:37:32,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:32,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 04:37:32,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:32,280 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 04:37:32,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:32,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 04:37:32,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=445, Unknown=4, NotChecked=44, Total=600 [2022-04-08 04:37:32,281 INFO L87 Difference]: Start difference. First operand 144 states and 176 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 04:37:43,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:43,879 INFO L93 Difference]: Finished difference Result 181 states and 207 transitions. [2022-04-08 04:37:43,879 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 04:37:43,879 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 94 [2022-04-08 04:37:43,879 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:37:43,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 04:37:43,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 04:37:43,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 04:37:43,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 04:37:43,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2022-04-08 04:37:44,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:44,198 INFO L225 Difference]: With dead ends: 181 [2022-04-08 04:37:44,198 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 04:37:44,199 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 48.4s TimeCoverageRelationStatistics Valid=120, Invalid=530, Unknown=4, NotChecked=48, Total=702 [2022-04-08 04:37:44,199 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 643 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 672 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 643 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:37:44,199 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 246 Invalid, 672 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 643 Invalid, 0 Unknown, 0 Unchecked, 7.5s Time] [2022-04-08 04:37:44,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 04:37:44,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2022-04-08 04:37:44,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:37:44,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:37:44,352 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:37:44,353 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:37:44,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:44,356 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 04:37:44,356 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 04:37:44,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:44,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:44,357 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 151 states. [2022-04-08 04:37:44,358 INFO L87 Difference]: Start difference. First operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 151 states. [2022-04-08 04:37:44,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:37:44,361 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 04:37:44,361 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 04:37:44,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:37:44,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:37:44,362 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:37:44,362 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:37:44,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:37:44,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 174 transitions. [2022-04-08 04:37:44,366 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 174 transitions. Word has length 94 [2022-04-08 04:37:44,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:37:44,367 INFO L478 AbstractCegarLoop]: Abstraction has 151 states and 174 transitions. [2022-04-08 04:37:44,367 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 04:37:44,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 174 transitions. [2022-04-08 04:37:44,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:44,704 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 04:37:44,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-08 04:37:44,705 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:37:44,705 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:37:44,722 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 04:37:44,907 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:44,908 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:37:44,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:37:44,908 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 11 times [2022-04-08 04:37:44,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:44,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1671908471] [2022-04-08 04:37:50,999 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:37:51,000 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:37:51,000 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:37:51,000 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 12 times [2022-04-08 04:37:51,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:37:51,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1461328765] [2022-04-08 04:37:51,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:37:51,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:37:51,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:37:51,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [813414285] [2022-04-08 04:37:51,018 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:37:51,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:37:51,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:37:51,024 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:37:51,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 04:37:51,129 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:37:51,129 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:37:51,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:37:51,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:37:51,153 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:37:53,382 INFO L272 TraceCheckUtils]: 0: Hoare triple {9813#true} call ULTIMATE.init(); {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {9813#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); {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L290 TraceCheckUtils]: 2: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9813#true} {9813#true} #94#return; {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L272 TraceCheckUtils]: 4: Hoare triple {9813#true} call #t~ret6 := main(); {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {9813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L272 TraceCheckUtils]: 6: Hoare triple {9813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9813#true} {9813#true} #78#return; {9813#true} is VALID [2022-04-08 04:37:53,384 INFO L290 TraceCheckUtils]: 11: Hoare triple {9813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,384 INFO L290 TraceCheckUtils]: 12: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,384 INFO L272 TraceCheckUtils]: 13: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,385 INFO L272 TraceCheckUtils]: 18: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L290 TraceCheckUtils]: 20: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,385 INFO L290 TraceCheckUtils]: 21: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,386 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,386 INFO L272 TraceCheckUtils]: 23: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,386 INFO L290 TraceCheckUtils]: 24: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,387 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #84#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,387 INFO L290 TraceCheckUtils]: 28: Hoare triple {9851#(= main_~q~0 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,388 INFO L272 TraceCheckUtils]: 30: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,388 INFO L290 TraceCheckUtils]: 32: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,388 INFO L290 TraceCheckUtils]: 33: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,388 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,388 INFO L272 TraceCheckUtils]: 35: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,389 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,389 INFO L272 TraceCheckUtils]: 40: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,389 INFO L290 TraceCheckUtils]: 41: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,389 INFO L290 TraceCheckUtils]: 42: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,390 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #84#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,390 INFO L290 TraceCheckUtils]: 45: Hoare triple {9851#(= main_~q~0 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,391 INFO L290 TraceCheckUtils]: 46: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,391 INFO L272 TraceCheckUtils]: 47: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,391 INFO L290 TraceCheckUtils]: 48: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,391 INFO L290 TraceCheckUtils]: 49: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,391 INFO L290 TraceCheckUtils]: 50: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,391 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,392 INFO L272 TraceCheckUtils]: 52: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:53,392 INFO L290 TraceCheckUtils]: 54: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:53,392 INFO L290 TraceCheckUtils]: 55: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:53,392 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 04:37:53,392 INFO L272 TraceCheckUtils]: 57: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:53,393 INFO L290 TraceCheckUtils]: 58: Hoare triple {9813#true} ~cond := #in~cond; {9993#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:53,393 INFO L290 TraceCheckUtils]: 59: Hoare triple {9993#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:53,393 INFO L290 TraceCheckUtils]: 60: Hoare triple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:53,394 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} {9851#(= main_~q~0 0)} #84#return; {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 04:37:54,698 INFO L290 TraceCheckUtils]: 62: Hoare triple {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,699 INFO L290 TraceCheckUtils]: 63: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,699 INFO L272 TraceCheckUtils]: 64: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:54,699 INFO L290 TraceCheckUtils]: 65: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:54,699 INFO L290 TraceCheckUtils]: 66: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:54,699 INFO L290 TraceCheckUtils]: 67: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:54,700 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,700 INFO L272 TraceCheckUtils]: 69: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:37:54,700 INFO L290 TraceCheckUtils]: 70: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:54,700 INFO L290 TraceCheckUtils]: 71: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:54,700 INFO L290 TraceCheckUtils]: 72: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:54,701 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,701 INFO L272 TraceCheckUtils]: 74: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~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)); {9813#true} is VALID [2022-04-08 04:37:54,701 INFO L290 TraceCheckUtils]: 75: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:54,701 INFO L290 TraceCheckUtils]: 76: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:54,701 INFO L290 TraceCheckUtils]: 77: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:54,702 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,702 INFO L290 TraceCheckUtils]: 79: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,702 INFO L290 TraceCheckUtils]: 80: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,703 INFO L272 TraceCheckUtils]: 81: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~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)); {9813#true} is VALID [2022-04-08 04:37:54,703 INFO L290 TraceCheckUtils]: 82: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:54,703 INFO L290 TraceCheckUtils]: 83: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:54,703 INFO L290 TraceCheckUtils]: 84: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:54,703 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:54,704 INFO L272 TraceCheckUtils]: 86: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~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)); {9813#true} is VALID [2022-04-08 04:37:54,704 INFO L290 TraceCheckUtils]: 87: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:54,704 INFO L290 TraceCheckUtils]: 88: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:54,704 INFO L290 TraceCheckUtils]: 89: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:54,704 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 04:37:56,706 WARN L290 TraceCheckUtils]: 91: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~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); {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is UNKNOWN [2022-04-08 04:37:56,707 INFO L290 TraceCheckUtils]: 92: Hoare triple {10004#(and (= 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; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:37:56,707 INFO L290 TraceCheckUtils]: 93: Hoare triple {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:37:56,707 INFO L272 TraceCheckUtils]: 94: Hoare triple {10099#(= 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)); {9813#true} is VALID [2022-04-08 04:37:56,707 INFO L290 TraceCheckUtils]: 95: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:37:56,707 INFO L290 TraceCheckUtils]: 96: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:37:56,707 INFO L290 TraceCheckUtils]: 97: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:37:56,708 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9813#true} {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:37:56,709 INFO L272 TraceCheckUtils]: 99: Hoare triple {10099#(= 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)); {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:56,709 INFO L290 TraceCheckUtils]: 100: Hoare triple {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10125#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:56,709 INFO L290 TraceCheckUtils]: 101: Hoare triple {10125#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9814#false} is VALID [2022-04-08 04:37:56,709 INFO L290 TraceCheckUtils]: 102: Hoare triple {9814#false} assume !false; {9814#false} is VALID [2022-04-08 04:37:56,710 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 70 proven. 22 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-08 04:37:56,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:38:24,394 INFO L290 TraceCheckUtils]: 102: Hoare triple {9814#false} assume !false; {9814#false} is VALID [2022-04-08 04:38:24,395 INFO L290 TraceCheckUtils]: 101: Hoare triple {10125#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9814#false} is VALID [2022-04-08 04:38:24,395 INFO L290 TraceCheckUtils]: 100: Hoare triple {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10125#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:24,396 INFO L272 TraceCheckUtils]: 99: Hoare triple {10099#(= 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)); {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:38:24,396 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9813#true} {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:38:24,396 INFO L290 TraceCheckUtils]: 97: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,397 INFO L290 TraceCheckUtils]: 96: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,397 INFO L290 TraceCheckUtils]: 95: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,397 INFO L272 TraceCheckUtils]: 94: Hoare triple {10099#(= 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)); {9813#true} is VALID [2022-04-08 04:38:24,397 INFO L290 TraceCheckUtils]: 93: Hoare triple {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:38:24,397 INFO L290 TraceCheckUtils]: 92: Hoare triple {10099#(= 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; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:38:24,412 INFO L290 TraceCheckUtils]: 91: Hoare triple {10165#(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); {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:38:24,412 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {10165#(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-08 04:38:24,412 INFO L290 TraceCheckUtils]: 89: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,412 INFO L290 TraceCheckUtils]: 88: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,413 INFO L290 TraceCheckUtils]: 87: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,413 INFO L272 TraceCheckUtils]: 86: Hoare triple {10165#(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)); {9813#true} is VALID [2022-04-08 04:38:24,413 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9813#true} {10165#(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))))))} #86#return; {10165#(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-08 04:38:24,413 INFO L290 TraceCheckUtils]: 84: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,414 INFO L290 TraceCheckUtils]: 83: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,414 INFO L290 TraceCheckUtils]: 82: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,414 INFO L272 TraceCheckUtils]: 81: Hoare triple {10165#(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)); {9813#true} is VALID [2022-04-08 04:38:24,415 INFO L290 TraceCheckUtils]: 80: Hoare triple {10165#(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; {10165#(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-08 04:38:24,416 INFO L290 TraceCheckUtils]: 79: Hoare triple {10165#(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 !(~r~0 >= ~d~0); {10165#(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-08 04:38:24,417 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9813#true} {10165#(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))))))} #84#return; {10165#(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-08 04:38:24,417 INFO L290 TraceCheckUtils]: 77: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,417 INFO L290 TraceCheckUtils]: 76: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,417 INFO L290 TraceCheckUtils]: 75: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,417 INFO L272 TraceCheckUtils]: 74: Hoare triple {10165#(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)); {9813#true} is VALID [2022-04-08 04:38:24,418 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9813#true} {10165#(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))))))} #82#return; {10165#(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-08 04:38:24,418 INFO L290 TraceCheckUtils]: 72: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,418 INFO L290 TraceCheckUtils]: 71: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,418 INFO L290 TraceCheckUtils]: 70: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,418 INFO L272 TraceCheckUtils]: 69: Hoare triple {10165#(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 ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,419 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9813#true} {10165#(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))))))} #80#return; {10165#(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-08 04:38:24,419 INFO L290 TraceCheckUtils]: 67: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,419 INFO L290 TraceCheckUtils]: 66: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,419 INFO L290 TraceCheckUtils]: 65: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,419 INFO L272 TraceCheckUtils]: 64: Hoare triple {10165#(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 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,420 INFO L290 TraceCheckUtils]: 63: Hoare triple {10165#(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; {10165#(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-08 04:38:24,425 INFO L290 TraceCheckUtils]: 62: Hoare triple {10099#(= 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; {10165#(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-08 04:38:24,425 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} {9813#true} #84#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 04:38:24,426 INFO L290 TraceCheckUtils]: 60: Hoare triple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:24,426 INFO L290 TraceCheckUtils]: 59: Hoare triple {10265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:24,426 INFO L290 TraceCheckUtils]: 58: Hoare triple {9813#true} ~cond := #in~cond; {10265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:38:24,426 INFO L272 TraceCheckUtils]: 57: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 55: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 54: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 53: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L272 TraceCheckUtils]: 52: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 50: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L290 TraceCheckUtils]: 48: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,427 INFO L272 TraceCheckUtils]: 47: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 46: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 45: Hoare triple {9813#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9813#true} {9813#true} #84#return; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 42: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 41: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L272 TraceCheckUtils]: 40: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L272 TraceCheckUtils]: 35: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 33: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 32: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L272 TraceCheckUtils]: 30: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 04:38:24,429 INFO L290 TraceCheckUtils]: 28: Hoare triple {9813#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9813#true} {9813#true} #84#return; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L290 TraceCheckUtils]: 25: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L290 TraceCheckUtils]: 24: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L272 TraceCheckUtils]: 23: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L290 TraceCheckUtils]: 21: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,430 INFO L290 TraceCheckUtils]: 20: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L272 TraceCheckUtils]: 18: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L272 TraceCheckUtils]: 13: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {9813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9813#true} {9813#true} #78#return; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {9813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {9813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {9813#true} call #t~ret6 := main(); {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9813#true} {9813#true} #94#return; {9813#true} is VALID [2022-04-08 04:38:24,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 04:38:24,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {9813#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); {9813#true} is VALID [2022-04-08 04:38:24,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {9813#true} call ULTIMATE.init(); {9813#true} is VALID [2022-04-08 04:38:24,433 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 69 proven. 23 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-08 04:38:24,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:38:24,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1461328765] [2022-04-08 04:38:24,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:38:24,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [813414285] [2022-04-08 04:38:24,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [813414285] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:38:24,434 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:38:24,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 12 [2022-04-08 04:38:24,434 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:38:24,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1671908471] [2022-04-08 04:38:24,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1671908471] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:38:24,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:38:24,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:38:24,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [163398968] [2022-04-08 04:38:24,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:38:24,435 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-08 04:38:24,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:38:24,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 04:38:25,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:38:25,680 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:38:25,680 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:38:25,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:38:25,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:38:25,681 INFO L87 Difference]: Start difference. First operand 151 states and 174 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 04:38:29,976 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.68s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:33,926 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:38,504 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:43,518 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:45,506 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.61s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:46,710 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:48,717 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:53,152 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:38:55,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:55,149 INFO L93 Difference]: Finished difference Result 163 states and 185 transitions. [2022-04-08 04:38:55,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:38:55,149 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-08 04:38:55,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:38:55,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 04:38:55,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-08 04:38:55,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 04:38:55,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-08 04:38:55,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 81 transitions. [2022-04-08 04:39:00,747 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:00,750 INFO L225 Difference]: With dead ends: 163 [2022-04-08 04:39:00,750 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 04:39:00,751 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 207 GetRequests, 193 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:39:00,751 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 19 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 17.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 17.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:39:00,751 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 128 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 225 Invalid, 3 Unknown, 0 Unchecked, 17.2s Time] [2022-04-08 04:39:00,752 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 04:39:00,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 160. [2022-04-08 04:39:00,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:39:00,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 04:39:00,931 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 04:39:00,931 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 04:39:00,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:00,935 INFO L93 Difference]: Finished difference Result 161 states and 183 transitions. [2022-04-08 04:39:00,935 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 183 transitions. [2022-04-08 04:39:00,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:00,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:00,936 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) Second operand 161 states. [2022-04-08 04:39:00,936 INFO L87 Difference]: Start difference. First operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) Second operand 161 states. [2022-04-08 04:39:00,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:39:00,940 INFO L93 Difference]: Finished difference Result 161 states and 183 transitions. [2022-04-08 04:39:00,940 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 183 transitions. [2022-04-08 04:39:00,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:39:00,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:39:00,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:39:00,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:39:00,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 04:39:00,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 182 transitions. [2022-04-08 04:39:00,945 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 182 transitions. Word has length 103 [2022-04-08 04:39:00,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:39:00,945 INFO L478 AbstractCegarLoop]: Abstraction has 160 states and 182 transitions. [2022-04-08 04:39:00,945 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 04:39:00,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 160 states and 182 transitions. [2022-04-08 04:39:01,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:39:01,883 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 182 transitions. [2022-04-08 04:39:01,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 04:39:01,884 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:39:01,884 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:39:01,913 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-08 04:39:02,084 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:39:02,085 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:39:02,085 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:39:02,085 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 3 times [2022-04-08 04:39:02,086 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:39:02,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [188807905] [2022-04-08 04:39:09,327 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:39:09,327 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 04:39:09,327 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:39:09,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 4 times [2022-04-08 04:39:09,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:39:09,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550323763] [2022-04-08 04:39:09,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:39:09,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:39:09,349 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:39:09,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [743892435] [2022-04-08 04:39:09,349 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:39:09,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:39:09,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:39:09,350 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:39:09,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 04:39:09,493 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:39:09,493 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:39:09,495 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 04:39:09,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:39:09,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:39:54,256 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:39:59,671 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:40:02,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {11414#true} call ULTIMATE.init(); {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {11414#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); {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11414#true} {11414#true} #94#return; {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {11414#true} call #t~ret6 := main(); {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {11414#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11414#true} is VALID [2022-04-08 04:40:02,460 INFO L272 TraceCheckUtils]: 6: Hoare triple {11414#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11414#true} {11414#true} #78#return; {11414#true} is VALID [2022-04-08 04:40:02,461 INFO L290 TraceCheckUtils]: 11: Hoare triple {11414#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,462 INFO L272 TraceCheckUtils]: 13: Hoare triple {11452#(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)); {11414#true} is VALID [2022-04-08 04:40:02,462 INFO L290 TraceCheckUtils]: 14: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,462 INFO L290 TraceCheckUtils]: 16: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,463 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {11414#true} {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #80#return; {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,463 INFO L272 TraceCheckUtils]: 18: Hoare triple {11452#(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)); {11414#true} is VALID [2022-04-08 04:40:02,463 INFO L290 TraceCheckUtils]: 19: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,463 INFO L290 TraceCheckUtils]: 20: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,463 INFO L290 TraceCheckUtils]: 21: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,463 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11414#true} {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,464 INFO L272 TraceCheckUtils]: 23: Hoare triple {11452#(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)); {11414#true} is VALID [2022-04-08 04:40:02,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,464 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11414#true} {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {11452#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,466 INFO L290 TraceCheckUtils]: 28: Hoare triple {11452#(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; {11504#(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-08 04:40:02,466 INFO L290 TraceCheckUtils]: 29: Hoare triple {11504#(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; {11504#(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-08 04:40:02,466 INFO L272 TraceCheckUtils]: 30: Hoare triple {11504#(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)); {11414#true} is VALID [2022-04-08 04:40:02,466 INFO L290 TraceCheckUtils]: 31: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,467 INFO L290 TraceCheckUtils]: 32: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,467 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {11414#true} {11504#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #80#return; {11504#(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-08 04:40:02,467 INFO L272 TraceCheckUtils]: 35: Hoare triple {11504#(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)); {11414#true} is VALID [2022-04-08 04:40:02,467 INFO L290 TraceCheckUtils]: 36: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,468 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11414#true} {11504#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {11504#(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-08 04:40:02,468 INFO L272 TraceCheckUtils]: 40: Hoare triple {11504#(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)); {11414#true} is VALID [2022-04-08 04:40:02,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,468 INFO L290 TraceCheckUtils]: 42: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,469 INFO L290 TraceCheckUtils]: 43: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,469 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {11414#true} {11504#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {11504#(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-08 04:40:02,471 INFO L290 TraceCheckUtils]: 45: Hoare triple {11504#(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; {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,472 INFO L290 TraceCheckUtils]: 46: Hoare triple {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,472 INFO L272 TraceCheckUtils]: 47: Hoare triple {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,472 INFO L290 TraceCheckUtils]: 48: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,472 INFO L290 TraceCheckUtils]: 49: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,472 INFO L290 TraceCheckUtils]: 50: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,472 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {11414#true} {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #80#return; {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,473 INFO L272 TraceCheckUtils]: 52: Hoare triple {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,473 INFO L290 TraceCheckUtils]: 53: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,473 INFO L290 TraceCheckUtils]: 54: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,473 INFO L290 TraceCheckUtils]: 55: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,473 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {11414#true} {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,474 INFO L272 TraceCheckUtils]: 57: Hoare triple {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,474 INFO L290 TraceCheckUtils]: 58: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,474 INFO L290 TraceCheckUtils]: 59: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,474 INFO L290 TraceCheckUtils]: 60: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,474 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11414#true} {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,475 INFO L290 TraceCheckUtils]: 62: Hoare triple {11556#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,475 INFO L290 TraceCheckUtils]: 63: Hoare triple {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,475 INFO L272 TraceCheckUtils]: 64: Hoare triple {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,476 INFO L290 TraceCheckUtils]: 65: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,476 INFO L290 TraceCheckUtils]: 66: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,476 INFO L290 TraceCheckUtils]: 67: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,476 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {11414#true} {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,476 INFO L272 TraceCheckUtils]: 69: Hoare triple {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,476 INFO L290 TraceCheckUtils]: 70: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,477 INFO L290 TraceCheckUtils]: 71: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,477 INFO L290 TraceCheckUtils]: 72: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,477 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {11414#true} {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 04:40:02,480 INFO L290 TraceCheckUtils]: 74: Hoare triple {11608#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11645#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 04:40:02,482 INFO L290 TraceCheckUtils]: 75: Hoare triple {11645#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-08 04:40:02,483 INFO L290 TraceCheckUtils]: 76: Hoare triple {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} assume !false; {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-08 04:40:02,483 INFO L272 TraceCheckUtils]: 77: Hoare triple {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,483 INFO L290 TraceCheckUtils]: 78: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,483 INFO L290 TraceCheckUtils]: 79: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,483 INFO L290 TraceCheckUtils]: 80: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,484 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {11414#true} {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} #86#return; {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-08 04:40:02,484 INFO L272 TraceCheckUtils]: 82: Hoare triple {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,484 INFO L290 TraceCheckUtils]: 83: Hoare triple {11414#true} ~cond := #in~cond; {11414#true} is VALID [2022-04-08 04:40:02,484 INFO L290 TraceCheckUtils]: 84: Hoare triple {11414#true} assume !(0 == ~cond); {11414#true} is VALID [2022-04-08 04:40:02,484 INFO L290 TraceCheckUtils]: 85: Hoare triple {11414#true} assume true; {11414#true} is VALID [2022-04-08 04:40:02,485 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {11414#true} {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} #88#return; {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0))} is VALID [2022-04-08 04:40:02,488 INFO L290 TraceCheckUtils]: 87: Hoare triple {11649#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (= (mod (div (* (- 2) main_~d~0) (- 2)) 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); {11686#(and (= main_~q~0 2) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 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)) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,492 INFO L290 TraceCheckUtils]: 88: Hoare triple {11686#(and (= main_~q~0 2) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= 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)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,493 INFO L290 TraceCheckUtils]: 89: Hoare triple {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} assume !false; {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,493 INFO L272 TraceCheckUtils]: 90: Hoare triple {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,493 INFO L290 TraceCheckUtils]: 91: Hoare triple {11414#true} ~cond := #in~cond; {11700#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:02,494 INFO L290 TraceCheckUtils]: 92: Hoare triple {11700#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:02,494 INFO L290 TraceCheckUtils]: 93: Hoare triple {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:02,495 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} #86#return; {11711#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (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)) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,496 INFO L272 TraceCheckUtils]: 95: Hoare triple {11711#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (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)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11414#true} is VALID [2022-04-08 04:40:02,496 INFO L290 TraceCheckUtils]: 96: Hoare triple {11414#true} ~cond := #in~cond; {11700#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:02,497 INFO L290 TraceCheckUtils]: 97: Hoare triple {11700#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:02,497 INFO L290 TraceCheckUtils]: 98: Hoare triple {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:40:02,499 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {11704#(not (= |__VERIFIER_assert_#in~cond| 0))} {11711#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 (+ main_~d~0 main_~r~0)) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (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)) (= main_~p~0 1))} #88#return; {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-08 04:40:02,500 INFO L290 TraceCheckUtils]: 100: Hoare triple {11690#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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) main_~p~0))) (= main_~p~0 1))} assume !(1 != ~p~0); {11730#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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))} is VALID [2022-04-08 04:40:02,502 INFO L272 TraceCheckUtils]: 101: Hoare triple {11730#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 (+ main_~d~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))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11734#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:40:02,502 INFO L290 TraceCheckUtils]: 102: Hoare triple {11734#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11738#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:40:02,503 INFO L290 TraceCheckUtils]: 103: Hoare triple {11738#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11415#false} is VALID [2022-04-08 04:40:02,503 INFO L290 TraceCheckUtils]: 104: Hoare triple {11415#false} assume !false; {11415#false} is VALID [2022-04-08 04:40:02,503 INFO L134 CoverageAnalysis]: Checked inductivity of 478 backedges. 106 proven. 30 refuted. 0 times theorem prover too weak. 342 trivial. 0 not checked. [2022-04-08 04:40:02,504 INFO L328 TraceCheckSpWp]: Computing backward predicates...