/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-scaling/hard-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 06:23:46,372 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 06:23:46,373 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 06:23:46,411 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 06:23:46,411 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 06:23:46,413 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 06:23:46,418 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 06:23:46,422 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 06:23:46,423 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 06:23:46,424 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 06:23:46,425 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 06:23:46,426 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 06:23:46,426 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 06:23:46,427 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 06:23:46,428 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 06:23:46,429 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 06:23:46,429 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 06:23:46,430 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 06:23:46,431 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 06:23:46,432 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 06:23:46,433 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 06:23:46,437 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 06:23:46,438 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 06:23:46,439 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 06:23:46,440 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 06:23:46,442 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 06:23:46,442 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 06:23:46,442 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 06:23:46,443 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 06:23:46,443 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 06:23:46,444 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 06:23:46,444 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 06:23:46,445 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 06:23:46,445 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 06:23:46,446 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 06:23:46,446 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 06:23:46,447 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 06:23:46,451 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 06:23:46,452 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 06:23:46,453 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 06:23:46,454 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 06:23:46,455 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 06:23:46,456 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 06:23:46,465 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 06:23:46,465 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 06:23:46,467 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 06:23:46,467 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 06:23:46,468 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 06:23:46,468 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 06:23:46,468 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 06:23:46,468 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 06:23:46,468 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 06:23:46,469 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 06:23:46,469 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 06:23:46,469 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 06:23:46,470 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 06:23:46,470 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:23:46,471 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 06:23:46,471 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 06:23:46,471 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 06:23:46,471 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 06:23:46,471 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 06:23:46,471 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 06:23:46,472 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 06:23:46,706 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 06:23:46,733 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 06:23:46,735 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 06:23:46,736 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 06:23:46,737 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 06:23:46,738 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-08 06:23:46,789 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c624c7ae/0606ba47bd6e4023a80cbd72cefa4b13/FLAG7e093374e [2022-04-08 06:23:47,188 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 06:23:47,188 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-08 06:23:47,195 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c624c7ae/0606ba47bd6e4023a80cbd72cefa4b13/FLAG7e093374e [2022-04-08 06:23:47,594 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c624c7ae/0606ba47bd6e4023a80cbd72cefa4b13 [2022-04-08 06:23:47,597 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 06:23:47,598 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 06:23:47,600 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 06:23:47,601 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 06:23:47,605 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 06:23:47,606 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,606 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@75dfe749 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47, skipping insertion in model container [2022-04-08 06:23:47,607 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,613 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 06:23:47,624 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 06:23:47,747 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-08 06:23:47,766 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:23:47,777 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 06:23:47,789 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-08 06:23:47,811 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:23:47,825 INFO L208 MainTranslator]: Completed translation [2022-04-08 06:23:47,826 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47 WrapperNode [2022-04-08 06:23:47,826 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 06:23:47,827 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 06:23:47,827 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 06:23:47,828 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 06:23:47,836 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,836 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,843 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,843 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,858 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,863 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,870 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,873 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 06:23:47,874 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 06:23:47,874 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 06:23:47,874 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 06:23:47,876 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (1/1) ... [2022-04-08 06:23:47,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:23:47,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:47,900 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 06:23:47,914 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 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 06:23:47,947 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 06:23:47,948 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 06:23:47,948 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 06:23:47,948 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 06:23:47,948 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 06:23:47,949 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 06:23:47,949 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 06:23:47,950 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 06:23:47,950 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 06:23:47,950 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 06:23:47,950 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 06:23:47,951 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 06:23:47,951 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 06:23:47,951 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 06:23:47,951 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 06:23:48,009 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 06:23:48,011 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 06:23:48,207 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 06:23:48,217 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 06:23:48,217 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 06:23:48,218 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:23:48 BoogieIcfgContainer [2022-04-08 06:23:48,218 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 06:23:48,220 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 06:23:48,220 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 06:23:48,231 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 06:23:48,231 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 06:23:47" (1/3) ... [2022-04-08 06:23:48,232 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@13c84670 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:23:48, skipping insertion in model container [2022-04-08 06:23:48,232 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:23:47" (2/3) ... [2022-04-08 06:23:48,232 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@13c84670 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:23:48, skipping insertion in model container [2022-04-08 06:23:48,232 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:23:48" (3/3) ... [2022-04-08 06:23:48,233 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-08 06:23:48,238 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 06:23:48,238 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 06:23:48,303 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 06:23:48,312 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 06:23:48,313 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 06:23:48,342 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:23:48,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 06:23:48,352 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:48,352 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:48,352 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:48,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:48,356 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-08 06:23:48,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:48,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1312895428] [2022-04-08 06:23:48,377 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:48,377 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-08 06:23:48,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:48,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1445053065] [2022-04-08 06:23:48,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:48,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:48,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:48,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:48,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:48,569 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-08 06:23:48,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-08 06:23:48,570 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-08 06:23:48,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:48,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:48,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-08 06:23:48,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:48,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:48,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-08 06:23:48,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:48,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:48,611 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-08 06:23:48,614 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:48,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-08 06:23:48,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-08 06:23:48,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-08 06:23:48,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-08 06:23:48,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-08 06:23:48,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:48,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-08 06:23:48,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-08 06:23:48,619 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:48,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,620 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-08 06:23:48,621 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-08 06:23:48,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-08 06:23:48,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-08 06:23:48,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-08 06:23:48,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-08 06:23:48,624 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-08 06:23:48,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-08 06:23:48,624 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-08 06:23:48,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-08 06:23:48,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-08 06:23:48,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-08 06:23:48,625 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:48,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:48,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1445053065] [2022-04-08 06:23:48,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1445053065] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:48,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:48,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:23:48,629 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:48,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1312895428] [2022-04-08 06:23:48,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1312895428] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:48,630 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:48,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:23:48,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [341402890] [2022-04-08 06:23:48,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:48,638 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 06:23:48,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:48,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:48,681 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 06:23:48,681 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 06:23:48,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:48,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 06:23:48,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:23:48,708 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:48,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:48,938 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-08 06:23:48,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 06:23:48,939 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 06:23:48,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:48,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:48,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 06:23:48,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:48,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 06:23:48,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-08 06:23:49,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:49,157 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:23:49,157 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 06:23:49,161 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:23:49,165 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:49,165 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:23:49,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 06:23:49,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-08 06:23:49,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:49,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:49,196 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:49,197 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:49,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:49,203 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 06:23:49,203 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:49,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:49,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:49,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-08 06:23:49,205 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-08 06:23:49,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:49,210 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 06:23:49,210 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:49,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:49,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:49,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:49,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:49,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:49,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-08 06:23:49,222 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-08 06:23:49,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:49,222 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-08 06:23:49,223 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:23:49,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-08 06:23:49,275 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 06:23:49,275 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 06:23:49,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 06:23:49,276 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:49,277 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:49,277 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 06:23:49,277 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:49,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:49,278 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-08 06:23:49,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:49,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1526072482] [2022-04-08 06:23:49,279 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:49,279 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-08 06:23:49,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:49,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1274722745] [2022-04-08 06:23:49,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:49,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:49,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:49,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:49,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:49,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-08 06:23:49,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,370 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-08 06:23:49,370 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:49,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:49,387 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,388 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-08 06:23:49,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:49,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:49,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-08 06:23:49,401 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:49,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:49,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-08 06:23:49,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:49,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-08 06:23:49,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-08 06:23:49,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-08 06:23:49,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-08 06:23:49,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:49,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-08 06:23:49,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-08 06:23:49,421 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:49,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,423 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-08 06:23:49,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-08 06:23:49,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-08 06:23:49,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-08 06:23:49,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-08 06:23:49,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-08 06:23:49,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-08 06:23:49,426 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-08 06:23:49,426 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:23:49,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:23:49,427 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-08 06:23:49,428 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-08 06:23:49,429 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:49,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:49,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1274722745] [2022-04-08 06:23:49,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1274722745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:49,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:49,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:49,434 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:49,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1526072482] [2022-04-08 06:23:49,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1526072482] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:49,436 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:49,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:49,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [951330504] [2022-04-08 06:23:49,436 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:49,439 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 06:23:49,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:49,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:49,459 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 06:23:49,459 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:23:49,460 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:49,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:23:49,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:23:49,461 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:49,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:49,958 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-08 06:23:49,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:23:49,961 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 06:23:49,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:49,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:49,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:49,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:49,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:49,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 06:23:50,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:50,047 INFO L225 Difference]: With dead ends: 46 [2022-04-08 06:23:50,047 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 06:23:50,048 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:23:50,049 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:50,049 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:23:50,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 06:23:50,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 06:23:50,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:50,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,067 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,068 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:50,074 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:23:50,074 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:23:50,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:50,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:50,075 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-08 06:23:50,076 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-08 06:23:50,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:50,079 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:23:50,079 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:23:50,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:50,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:50,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:50,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:50,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-08 06:23:50,083 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-08 06:23:50,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:50,092 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-08 06:23:50,092 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 06:23:50,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-08 06:23:50,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:50,139 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-08 06:23:50,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 06:23:50,140 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:50,141 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:50,141 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 06:23:50,141 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:50,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:50,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-08 06:23:50,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:50,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1079645644] [2022-04-08 06:23:50,148 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:50,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-08 06:23:50,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:50,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [978911023] [2022-04-08 06:23:50,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:50,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:50,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:23:50,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-08 06:23:50,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,266 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-08 06:23:50,266 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 06:23:50,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-08 06:23:50,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 06:23:50,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-08 06:23:50,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 06:23:50,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,289 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,289 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-08 06:23:50,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-08 06:23:50,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:50,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:50,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:23:50,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-08 06:23:50,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-08 06:23:50,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-08 06:23:50,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-08 06:23:50,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:50,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-08 06:23:50,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-08 06:23:50,300 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:50,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,301 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-08 06:23:50,301 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:50,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,301 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-08 06:23:50,302 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:50,303 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:50,303 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-08 06:23:50,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-08 06:23:50,303 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-08 06:23:50,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-08 06:23:50,304 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 06:23:50,305 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:23:50,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:23:50,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-08 06:23:50,306 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-08 06:23:50,307 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 06:23:50,307 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:50,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [978911023] [2022-04-08 06:23:50,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [978911023] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:50,307 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:50,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:50,308 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:50,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1079645644] [2022-04-08 06:23:50,308 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1079645644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:50,308 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:50,308 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:50,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1765173788] [2022-04-08 06:23:50,308 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:50,309 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 06:23:50,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:50,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:50,331 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 06:23:50,331 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:23:50,331 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:50,332 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:23:50,332 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:23:50,332 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:50,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:50,822 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-08 06:23:50,822 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:23:50,822 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-08 06:23:50,825 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:50,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:50,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:50,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:50,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-08 06:23:50,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-08 06:23:50,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:50,907 INFO L225 Difference]: With dead ends: 50 [2022-04-08 06:23:50,907 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 06:23:50,908 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:23:50,908 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:50,908 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:23:50,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 06:23:50,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-08 06:23:50,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:50,916 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,917 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,917 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:50,920 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 06:23:50,920 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 06:23:50,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:50,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:50,921 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-08 06:23:50,922 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-08 06:23:50,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:50,928 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-08 06:23:50,929 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-08 06:23:50,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:50,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:50,929 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:50,929 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:50,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 06:23:50,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-08 06:23:50,932 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-08 06:23:50,932 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:50,932 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-08 06:23:50,932 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 06:23:50,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-08 06:23:50,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:50,986 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-08 06:23:50,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 06:23:50,987 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:50,988 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:50,988 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 06:23:50,988 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:50,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:50,988 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-08 06:23:50,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:50,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [610638859] [2022-04-08 06:23:50,989 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:50,989 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-08 06:23:50,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:50,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901012552] [2022-04-08 06:23:50,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:50,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:51,005 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:23:51,005 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1820107891] [2022-04-08 06:23:51,005 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:23:51,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:23:51,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:51,008 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 06:23:51,011 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 06:23:51,060 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:23:51,061 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:23:51,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 06:23:51,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:51,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:23:52,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-08 06:23:52,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-08 06:23:52,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:52,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-08 06:23:52,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-08 06:23:52,158 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-08 06:23:52,158 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:52,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:52,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:52,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:52,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-08 06:23:52,159 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-08 06:23:52,159 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:52,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:23:52,160 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:52,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:52,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {929#true} #83#return; {984#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:23:52,162 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:52,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:23:52,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:52,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:52,164 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:52,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:52,165 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:52,165 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:52,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:52,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:52,166 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:52,166 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:52,166 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-08 06:23:52,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-08 06:23:52,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-08 06:23:52,167 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-08 06:23:52,180 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:52,181 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 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)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:52,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:52,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-08 06:23:52,182 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-08 06:23:52,182 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 06:23:52,182 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:23:52,183 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:52,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901012552] [2022-04-08 06:23:52,183 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:23:52,183 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1820107891] [2022-04-08 06:23:52,183 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1820107891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:52,183 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:52,183 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:23:52,184 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:52,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [610638859] [2022-04-08 06:23:52,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [610638859] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:52,184 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:52,184 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:23:52,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1535847556] [2022-04-08 06:23:52,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:52,185 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 06:23:52,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:52,186 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 06:23:52,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:52,222 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 06:23:52,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:52,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 06:23:52,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-08 06:23:52,224 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 06:23:52,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:52,738 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-08 06:23:52,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:23:52,738 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 06:23:52,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:52,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 06:23:52,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 06:23:52,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 06:23:52,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 06:23:52,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-08 06:23:52,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:52,825 INFO L225 Difference]: With dead ends: 69 [2022-04-08 06:23:52,825 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 06:23:52,826 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:23:52,827 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:52,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:23:52,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 06:23:52,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-08 06:23:52,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:52,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:23:52,871 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:23:52,871 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:23:52,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:52,874 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-08 06:23:52,874 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:23:52,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:52,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:52,875 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-08 06:23:52,876 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-08 06:23:52,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:52,879 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-08 06:23:52,879 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:23:52,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:52,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:52,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:52,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:52,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:23:52,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-08 06:23:52,882 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-08 06:23:52,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:52,883 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-08 06:23:52,883 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 06:23:52,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-08 06:23:52,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:52,970 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-08 06:23:52,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 06:23:52,970 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:52,971 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:52,995 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 06:23:53,191 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 06:23:53,192 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:53,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:53,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-08 06:23:53,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:53,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1373537364] [2022-04-08 06:23:53,193 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:53,193 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-08 06:23:53,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:53,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1020744266] [2022-04-08 06:23:53,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:53,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:53,209 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:23:53,209 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2054037474] [2022-04-08 06:23:53,209 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:23:53,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:23:53,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:53,211 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 06:23:53,225 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 06:23:53,268 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:23:53,269 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:23:53,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 06:23:53,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:53,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:23:54,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-08 06:23:54,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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); {1413#true} is VALID [2022-04-08 06:23:54,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-08 06:23:54,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-08 06:23:54,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#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; {1413#true} is VALID [2022-04-08 06:23:54,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-08 06:23:54,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-08 06:23:54,515 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:23:54,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:54,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:54,517 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:23:54,517 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,517 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,518 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:23:54,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,519 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,519 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,520 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,520 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,520 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,520 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,521 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,521 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,521 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,522 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,523 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,523 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,523 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,524 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,525 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,525 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 06:23:54,527 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:54,527 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:54,527 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-08 06:23:54,528 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-08 06:23:54,528 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-08 06:23:54,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:23:54,955 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-08 06:23:54,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-08 06:23:54,956 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:54,957 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ 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)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:54,958 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:23:54,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:23:54,959 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:23:54,959 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,959 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,959 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,959 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,960 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:23:54,960 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,960 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,960 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,961 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:23:54,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,961 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,961 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:23:54,963 INFO L290 TraceCheckUtils]: 22: Hoare triple {1413#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:23:54,963 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1413#true} #85#return; {1413#true} is VALID [2022-04-08 06:23:54,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,963 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,963 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,963 INFO L272 TraceCheckUtils]: 17: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1413#true} {1413#true} #83#return; {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-08 06:23:54,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#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; {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-08 06:23:54,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-08 06:23:54,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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); {1413#true} is VALID [2022-04-08 06:23:54,966 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-08 06:23:54,966 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 06:23:54,966 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:54,966 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1020744266] [2022-04-08 06:23:54,966 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:23:54,966 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2054037474] [2022-04-08 06:23:54,967 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2054037474] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:23:54,967 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:23:54,967 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-08 06:23:54,967 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:54,967 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1373537364] [2022-04-08 06:23:54,967 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1373537364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:54,967 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:54,967 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:23:54,967 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [50571407] [2022-04-08 06:23:54,968 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:54,968 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-08 06:23:54,968 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:54,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:54,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:54,997 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:23:54,997 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:54,997 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:23:54,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:23:54,998 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:55,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:55,329 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-08 06:23:55,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:23:55,329 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-08 06:23:55,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:55,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:55,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:23:55,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:55,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:23:55,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 06:23:55,389 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:55,391 INFO L225 Difference]: With dead ends: 68 [2022-04-08 06:23:55,391 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 06:23:55,392 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:23:55,392 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 12 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:55,393 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:23:55,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 06:23:55,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-08 06:23:55,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:55,447 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:23:55,447 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:23:55,448 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:23:55,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:55,451 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-08 06:23:55,451 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-08 06:23:55,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:55,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:55,452 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-08 06:23:55,452 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-08 06:23:55,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:55,455 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-08 06:23:55,455 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-08 06:23:55,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:55,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:55,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:55,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:55,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 06:23:55,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-08 06:23:55,458 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-08 06:23:55,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:55,459 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-08 06:23:55,459 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:55,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-08 06:23:55,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:55,575 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-08 06:23:55,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 06:23:55,575 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:55,575 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:55,600 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 06:23:55,776 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 06:23:55,776 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:55,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:55,777 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-08 06:23:55,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:55,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2061477497] [2022-04-08 06:23:55,777 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:55,777 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-08 06:23:55,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:55,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [29322919] [2022-04-08 06:23:55,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:55,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:55,790 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:23:55,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1819879215] [2022-04-08 06:23:55,791 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:23:55,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:23:55,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:55,792 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 06:23:55,815 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 06:23:55,850 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:23:55,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:23:55,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 06:23:55,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:55,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:23:57,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#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); {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#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; {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:57,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:57,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:23:57,515 INFO L290 TraceCheckUtils]: 14: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:57,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:57,516 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2091#true} #83#return; {2146#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:23:57,516 INFO L272 TraceCheckUtils]: 17: Hoare triple {2146#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:57,516 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:23:57,517 INFO L290 TraceCheckUtils]: 19: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:57,517 INFO L290 TraceCheckUtils]: 20: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:23:57,518 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2146#(<= (mod main_~B~0 4294967296) 2)} #85#return; {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:57,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:57,519 INFO L290 TraceCheckUtils]: 23: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:57,519 INFO L272 TraceCheckUtils]: 24: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:57,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,519 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,520 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:57,520 INFO L272 TraceCheckUtils]: 29: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:57,520 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,522 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:57,522 INFO L272 TraceCheckUtils]: 34: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 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)); {2091#true} is VALID [2022-04-08 06:23:57,522 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,523 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,523 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,523 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:23:57,524 INFO L290 TraceCheckUtils]: 39: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 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; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:57,526 INFO L290 TraceCheckUtils]: 40: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:57,526 INFO L272 TraceCheckUtils]: 41: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= 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)); {2091#true} is VALID [2022-04-08 06:23:57,526 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,526 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,526 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,527 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:57,527 INFO L272 TraceCheckUtils]: 46: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= 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)); {2091#true} is VALID [2022-04-08 06:23:57,527 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:57,527 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:57,527 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:57,528 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:57,529 INFO L272 TraceCheckUtils]: 51: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= 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)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:57,529 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:57,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-08 06:23:57,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-08 06:23:57,530 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-08 06:23:57,530 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:23:58,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-08 06:23:58,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-08 06:23:58,106 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:58,107 INFO L272 TraceCheckUtils]: 51: Hoare triple {2275#(= 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)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:58,113 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,114 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,114 INFO L272 TraceCheckUtils]: 46: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,115 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,115 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,115 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,115 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,115 INFO L272 TraceCheckUtils]: 41: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {2275#(= 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; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,245 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,246 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#(= 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)); {2091#true} is VALID [2022-04-08 06:23:58,246 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,247 INFO L272 TraceCheckUtils]: 29: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,249 INFO L290 TraceCheckUtils]: 22: Hoare triple {2091#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:23:58,249 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2091#true} {2091#true} #85#return; {2091#true} is VALID [2022-04-08 06:23:58,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,249 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,249 INFO L272 TraceCheckUtils]: 17: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,249 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2091#true} {2091#true} #83#return; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-08 06:23:58,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#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; {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#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); {2091#true} is VALID [2022-04-08 06:23:58,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-08 06:23:58,252 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-08 06:23:58,252 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:58,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [29322919] [2022-04-08 06:23:58,252 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:23:58,252 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1819879215] [2022-04-08 06:23:58,252 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1819879215] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:23:58,252 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:23:58,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-08 06:23:58,253 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:58,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2061477497] [2022-04-08 06:23:58,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2061477497] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:58,253 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:58,253 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:23:58,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1820232159] [2022-04-08 06:23:58,253 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:58,254 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-08 06:23:58,254 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:58,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:58,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:58,284 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:23:58,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:58,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:23:58,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:23:58,285 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:58,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,660 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-08 06:23:58,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:23:58,660 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-08 06:23:58,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:58,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:58,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 06:23:58,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:58,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 06:23:58,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-08 06:23:58,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:58,728 INFO L225 Difference]: With dead ends: 76 [2022-04-08 06:23:58,728 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 06:23:58,729 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:23:58,731 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:58,731 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:23:58,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 06:23:58,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-08 06:23:58,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:58,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:23:58,807 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:23:58,807 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:23:58,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,811 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-08 06:23:58,811 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-08 06:23:58,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:58,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:58,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-08 06:23:58,812 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-08 06:23:58,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:58,815 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-08 06:23:58,815 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-08 06:23:58,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:58,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:58,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:58,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:58,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 06:23:58,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-08 06:23:58,819 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-08 06:23:58,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:58,819 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-08 06:23:58,819 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 06:23:58,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-08 06:23:58,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:58,937 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-08 06:23:58,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 06:23:58,938 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:23:58,938 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:23:58,960 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 06:23:59,151 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 06:23:59,152 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:23:59,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:23:59,152 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-08 06:23:59,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:59,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1101806328] [2022-04-08 06:23:59,152 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:23:59,153 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-08 06:23:59,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:23:59,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643634305] [2022-04-08 06:23:59,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:23:59,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:23:59,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:23:59,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [125311954] [2022-04-08 06:23:59,167 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:23:59,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:23:59,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:23:59,168 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 06:23:59,169 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 06:23:59,202 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:23:59,202 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:23:59,203 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:23:59,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:23:59,214 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:23:59,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {2875#true} call ULTIMATE.init(); {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {2875#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); {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2875#true} {2875#true} #101#return; {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {2875#true} call #t~ret6 := main(); {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {2875#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; {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {2875#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-08 06:23:59,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2875#true} {2875#true} #81#return; {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {2875#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L272 TraceCheckUtils]: 12: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2875#true} {2875#true} #83#return; {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L272 TraceCheckUtils]: 17: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L290 TraceCheckUtils]: 19: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,420 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2875#true} {2875#true} #85#return; {2875#true} is VALID [2022-04-08 06:23:59,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {2875#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,421 INFO L290 TraceCheckUtils]: 23: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,421 INFO L272 TraceCheckUtils]: 24: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2875#true} is VALID [2022-04-08 06:23:59,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,422 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,422 INFO L272 TraceCheckUtils]: 29: Hoare triple {2946#(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)); {2875#true} is VALID [2022-04-08 06:23:59,423 INFO L290 TraceCheckUtils]: 30: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,423 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,424 INFO L272 TraceCheckUtils]: 34: Hoare triple {2946#(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)); {2875#true} is VALID [2022-04-08 06:23:59,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,424 INFO L290 TraceCheckUtils]: 36: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,424 INFO L290 TraceCheckUtils]: 37: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,425 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,425 INFO L290 TraceCheckUtils]: 39: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,426 INFO L290 TraceCheckUtils]: 40: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,426 INFO L272 TraceCheckUtils]: 41: Hoare triple {2946#(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)); {2875#true} is VALID [2022-04-08 06:23:59,426 INFO L290 TraceCheckUtils]: 42: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,426 INFO L290 TraceCheckUtils]: 43: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,426 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,427 INFO L272 TraceCheckUtils]: 46: Hoare triple {2946#(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)); {2875#true} is VALID [2022-04-08 06:23:59,427 INFO L290 TraceCheckUtils]: 47: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-08 06:23:59,427 INFO L290 TraceCheckUtils]: 48: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-08 06:23:59,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-08 06:23:59,428 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,428 INFO L290 TraceCheckUtils]: 51: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:23:59,429 INFO L272 TraceCheckUtils]: 52: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:23:59,429 INFO L290 TraceCheckUtils]: 53: Hoare triple {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:23:59,430 INFO L290 TraceCheckUtils]: 54: Hoare triple {3041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2876#false} is VALID [2022-04-08 06:23:59,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {2876#false} assume !false; {2876#false} is VALID [2022-04-08 06:23:59,430 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-08 06:23:59,430 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:23:59,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:23:59,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643634305] [2022-04-08 06:23:59,430 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:23:59,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [125311954] [2022-04-08 06:23:59,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [125311954] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:59,431 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:59,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:23:59,431 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:23:59,431 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1101806328] [2022-04-08 06:23:59,431 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1101806328] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:23:59,431 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:23:59,431 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:23:59,431 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [897860598] [2022-04-08 06:23:59,431 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:23:59,432 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 06:23:59,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:23:59,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:23:59,467 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 06:23:59,468 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:23:59,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:23:59,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:23:59,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:23:59,468 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:23:59,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,765 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-08 06:23:59,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:23:59,765 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 06:23:59,765 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:23:59,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:23:59,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:23:59,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:23:59,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 06:23:59,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 06:23:59,824 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:23:59,826 INFO L225 Difference]: With dead ends: 79 [2022-04-08 06:23:59,826 INFO L226 Difference]: Without dead ends: 72 [2022-04-08 06:23:59,826 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:23:59,827 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:23:59,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:23:59,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-08 06:23:59,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-08 06:23:59,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:23:59,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:23:59,887 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:23:59,887 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:23:59,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,890 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-08 06:23:59,890 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-08 06:23:59,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:59,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:59,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-08 06:23:59,891 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-08 06:23:59,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:23:59,894 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-08 06:23:59,894 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-08 06:23:59,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:23:59,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:23:59,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:23:59,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:23:59,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:23:59,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-08 06:23:59,897 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-08 06:23:59,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:23:59,898 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-08 06:23:59,898 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 06:23:59,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-08 06:24:00,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:00,024 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-08 06:24:00,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 06:24:00,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:00,025 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:00,052 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 06:24:00,225 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 06:24:00,226 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:00,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:00,226 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-08 06:24:00,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:00,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [863939590] [2022-04-08 06:24:00,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:00,227 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-08 06:24:00,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:00,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [796350679] [2022-04-08 06:24:00,227 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:00,227 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:00,244 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:00,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1278060017] [2022-04-08 06:24:00,244 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:00,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:00,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:00,256 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 06:24:00,257 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 06:24:00,327 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:00,328 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:00,329 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 06:24:00,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:00,345 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:07,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-08 06:24:07,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#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); {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#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; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-08 06:24:07,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-08 06:24:07,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:07,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:24:07,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:07,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:07,043 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} {3493#true} #83#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:24:07,043 INFO L272 TraceCheckUtils]: 17: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:07,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3548#(<= (mod main_~B~0 4294967296) 2)} #85#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:24:07,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:07,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:07,045 INFO L272 TraceCheckUtils]: 24: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,046 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:07,046 INFO L272 TraceCheckUtils]: 29: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,047 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:07,047 INFO L272 TraceCheckUtils]: 34: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,047 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,047 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,047 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,048 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 06:24:07,049 INFO L290 TraceCheckUtils]: 39: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,050 INFO L272 TraceCheckUtils]: 41: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,050 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,050 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,050 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,051 INFO L272 TraceCheckUtils]: 46: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,051 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,051 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,051 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,052 INFO L272 TraceCheckUtils]: 51: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,052 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,052 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,052 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,052 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,053 INFO L290 TraceCheckUtils]: 56: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (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); {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,054 INFO L272 TraceCheckUtils]: 58: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,054 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,054 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,054 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,055 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,055 INFO L272 TraceCheckUtils]: 63: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {3493#true} is VALID [2022-04-08 06:24:07,055 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:07,055 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:07,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:07,056 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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 06:24:07,057 INFO L290 TraceCheckUtils]: 68: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (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); {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 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 06:24:07,058 INFO L290 TraceCheckUtils]: 69: Hoare triple {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 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; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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 06:24:07,059 INFO L290 TraceCheckUtils]: 70: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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 06:24:07,060 INFO L272 TraceCheckUtils]: 71: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:07,060 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:07,060 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-08 06:24:07,060 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-08 06:24:07,062 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-08 06:24:07,062 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:14,081 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-08 06:24:14,082 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-08 06:24:14,082 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:14,083 INFO L272 TraceCheckUtils]: 71: Hoare triple {3739#(= (+ 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)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:14,084 INFO L290 TraceCheckUtils]: 70: Hoare triple {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:14,086 INFO L290 TraceCheckUtils]: 69: Hoare triple {3746#(= (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; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 06:24:14,101 INFO L290 TraceCheckUtils]: 68: Hoare triple {3750#(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); {3746#(= (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 06:24:14,102 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3750#(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 06:24:14,102 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,102 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,102 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,102 INFO L272 TraceCheckUtils]: 63: Hoare triple {3750#(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)); {3493#true} is VALID [2022-04-08 06:24:14,103 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3750#(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 06:24:14,103 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,103 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,103 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,104 INFO L272 TraceCheckUtils]: 58: Hoare triple {3750#(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)); {3493#true} is VALID [2022-04-08 06:24:14,105 INFO L290 TraceCheckUtils]: 57: Hoare triple {3750#(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; {3750#(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 06:24:14,106 INFO L290 TraceCheckUtils]: 56: Hoare triple {3787#(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); {3750#(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 06:24:14,106 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3787#(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 06:24:14,106 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L272 TraceCheckUtils]: 51: Hoare triple {3787#(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)); {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3787#(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 06:24:14,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,107 INFO L272 TraceCheckUtils]: 46: Hoare triple {3787#(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)); {3493#true} is VALID [2022-04-08 06:24:14,108 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3787#(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 06:24:14,108 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,108 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,108 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,108 INFO L272 TraceCheckUtils]: 41: Hoare triple {3787#(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)); {3493#true} is VALID [2022-04-08 06:24:14,110 INFO L290 TraceCheckUtils]: 40: Hoare triple {3787#(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; {3787#(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 06:24:14,114 INFO L290 TraceCheckUtils]: 39: Hoare triple {3839#(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; {3787#(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 06:24:14,115 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3839#(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 06:24:14,115 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,115 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,115 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,115 INFO L272 TraceCheckUtils]: 34: Hoare triple {3839#(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)); {3493#true} is VALID [2022-04-08 06:24:14,116 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3839#(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 06:24:14,116 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,116 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,117 INFO L272 TraceCheckUtils]: 29: Hoare triple {3839#(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)); {3493#true} is VALID [2022-04-08 06:24:14,117 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3839#(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 06:24:14,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,117 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,118 INFO L272 TraceCheckUtils]: 24: Hoare triple {3839#(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)); {3493#true} is VALID [2022-04-08 06:24:14,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {3839#(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; {3839#(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 06:24:14,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {3493#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3839#(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 06:24:14,120 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3493#true} #85#return; {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L272 TraceCheckUtils]: 17: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3493#true} {3493#true} #83#return; {3493#true} is VALID [2022-04-08 06:24:14,120 INFO L290 TraceCheckUtils]: 15: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-08 06:24:14,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#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; {3493#true} is VALID [2022-04-08 06:24:14,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-08 06:24:14,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-08 06:24:14,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-08 06:24:14,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#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); {3493#true} is VALID [2022-04-08 06:24:14,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-08 06:24:14,123 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-08 06:24:14,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:14,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [796350679] [2022-04-08 06:24:14,123 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:14,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278060017] [2022-04-08 06:24:14,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278060017] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:24:14,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:24:14,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-08 06:24:14,123 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:14,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [863939590] [2022-04-08 06:24:14,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [863939590] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:14,124 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:14,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:24:14,124 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1514185886] [2022-04-08 06:24:14,124 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:14,125 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 06:24:14,125 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:14,125 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:24:14,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:14,181 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:24:14,181 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:14,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:24:14,181 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-08 06:24:14,182 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:24:15,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:15,615 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-08 06:24:15,615 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 06:24:15,616 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-08 06:24:15,616 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:15,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:24:15,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-08 06:24:15,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:24:15,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-08 06:24:15,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-08 06:24:15,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:15,736 INFO L225 Difference]: With dead ends: 135 [2022-04-08 06:24:15,736 INFO L226 Difference]: Without dead ends: 108 [2022-04-08 06:24:15,737 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-08 06:24:15,737 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 28 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 360 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 360 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:15,738 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 195 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 06:24:15,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-08 06:24:15,848 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-08 06:24:15,848 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:15,849 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:15,856 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:15,859 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:15,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:15,864 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-08 06:24:15,864 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-08 06:24:15,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:15,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:15,865 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-08 06:24:15,866 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-08 06:24:15,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:15,869 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-08 06:24:15,869 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-08 06:24:15,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:15,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:15,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:15,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:15,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:15,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-08 06:24:15,873 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-08 06:24:15,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:15,874 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-08 06:24:15,874 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:24:15,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-08 06:24:16,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:16,050 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-08 06:24:16,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 06:24:16,050 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:16,051 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:16,073 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 06:24:16,271 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 06:24:16,271 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:16,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:16,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-08 06:24:16,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:16,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1463362875] [2022-04-08 06:24:16,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:16,273 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-08 06:24:16,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:16,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [330052442] [2022-04-08 06:24:16,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:16,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:16,284 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:16,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [760724478] [2022-04-08 06:24:16,285 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:24:16,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:16,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:16,286 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 06:24:16,288 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 06:24:16,339 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:24:16,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:16,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 06:24:16,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:16,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:18,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-08 06:24:18,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#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); {4661#true} is VALID [2022-04-08 06:24:18,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-08 06:24:18,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#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; {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-08 06:24:18,396 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,397 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:24:18,397 INFO L290 TraceCheckUtils]: 14: Hoare triple {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:18,397 INFO L290 TraceCheckUtils]: 15: Hoare triple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:24:18,398 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} {4661#true} #83#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:24:18,398 INFO L272 TraceCheckUtils]: 17: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,399 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4716#(<= (mod main_~B~0 4294967296) 2)} #85#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-08 06:24:18,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !false; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,400 INFO L272 TraceCheckUtils]: 24: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,400 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,401 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #87#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,401 INFO L272 TraceCheckUtils]: 29: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,401 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #89#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,402 INFO L272 TraceCheckUtils]: 34: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,402 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,402 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #91#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:18,404 INFO L290 TraceCheckUtils]: 40: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:18,404 INFO L272 TraceCheckUtils]: 41: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,404 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,404 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,404 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,405 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:18,405 INFO L272 TraceCheckUtils]: 46: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,405 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,405 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,405 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,406 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:18,406 INFO L272 TraceCheckUtils]: 51: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,406 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,407 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 06:24:18,408 INFO L290 TraceCheckUtils]: 56: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:18,409 INFO L290 TraceCheckUtils]: 57: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:18,409 INFO L272 TraceCheckUtils]: 58: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,409 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,409 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,409 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,410 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:18,410 INFO L272 TraceCheckUtils]: 63: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,410 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,410 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,410 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,411 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 06:24:18,412 INFO L290 TraceCheckUtils]: 68: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,413 INFO L290 TraceCheckUtils]: 69: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,413 INFO L290 TraceCheckUtils]: 70: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,413 INFO L272 TraceCheckUtils]: 71: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:18,413 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:18,413 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:18,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:18,414 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 06:24:18,415 INFO L272 TraceCheckUtils]: 76: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:18,415 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:18,416 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-08 06:24:18,416 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-08 06:24:18,416 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-08 06:24:18,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:27,010 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-08 06:24:27,011 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-08 06:24:27,011 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:27,012 INFO L272 TraceCheckUtils]: 76: Hoare triple {4921#(= 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)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:27,012 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:27,013 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,013 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,013 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,013 INFO L272 TraceCheckUtils]: 71: Hoare triple {4921#(= 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)); {4661#true} is VALID [2022-04-08 06:24:27,014 INFO L290 TraceCheckUtils]: 70: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:27,014 INFO L290 TraceCheckUtils]: 69: Hoare triple {4921#(= 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; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:27,028 INFO L290 TraceCheckUtils]: 68: Hoare triple {4946#(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); {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:24:27,029 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4946#(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 06:24:27,029 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,029 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,029 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,029 INFO L272 TraceCheckUtils]: 63: Hoare triple {4946#(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)); {4661#true} is VALID [2022-04-08 06:24:27,030 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4946#(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 06:24:27,030 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,030 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,030 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,031 INFO L272 TraceCheckUtils]: 58: Hoare triple {4946#(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)); {4661#true} is VALID [2022-04-08 06:24:27,032 INFO L290 TraceCheckUtils]: 57: Hoare triple {4946#(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; {4946#(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 06:24:27,034 INFO L290 TraceCheckUtils]: 56: Hoare triple {4983#(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); {4946#(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 06:24:27,035 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4983#(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 06:24:27,035 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,035 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,035 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,035 INFO L272 TraceCheckUtils]: 51: Hoare triple {4983#(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)); {4661#true} is VALID [2022-04-08 06:24:27,036 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4983#(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 06:24:27,036 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,036 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,036 INFO L272 TraceCheckUtils]: 46: Hoare triple {4983#(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)); {4661#true} is VALID [2022-04-08 06:24:27,037 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4983#(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 06:24:27,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,037 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,037 INFO L272 TraceCheckUtils]: 41: Hoare triple {4983#(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)); {4661#true} is VALID [2022-04-08 06:24:27,039 INFO L290 TraceCheckUtils]: 40: Hoare triple {4983#(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; {4983#(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 06:24:27,044 INFO L290 TraceCheckUtils]: 39: Hoare triple {5035#(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; {4983#(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 06:24:27,044 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5035#(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 06:24:27,044 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,044 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,045 INFO L272 TraceCheckUtils]: 34: Hoare triple {5035#(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)); {4661#true} is VALID [2022-04-08 06:24:27,057 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5035#(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 06:24:27,057 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,057 INFO L272 TraceCheckUtils]: 29: Hoare triple {5035#(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)); {4661#true} is VALID [2022-04-08 06:24:27,058 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5035#(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 06:24:27,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,058 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,058 INFO L272 TraceCheckUtils]: 24: Hoare triple {5035#(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)); {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5035#(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 06:24:27,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {4661#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5035#(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 06:24:27,059 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4661#true} #85#return; {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L272 TraceCheckUtils]: 17: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:27,059 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4661#true} {4661#true} #83#return; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#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; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#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); {4661#true} is VALID [2022-04-08 06:24:27,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-08 06:24:27,061 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-08 06:24:27,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:27,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [330052442] [2022-04-08 06:24:27,061 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:27,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [760724478] [2022-04-08 06:24:27,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [760724478] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:24:27,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:24:27,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 06:24:27,061 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:27,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1463362875] [2022-04-08 06:24:27,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1463362875] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:27,062 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:27,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:24:27,062 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1647655611] [2022-04-08 06:24:27,062 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:27,062 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-08 06:24:27,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:27,063 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), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 06:24:27,114 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 06:24:27,114 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:24:27,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:27,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:24:27,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:24:27,115 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 06:24:28,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:28,314 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-08 06:24:28,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:24:28,314 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-08 06:24:28,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:28,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 06:24:28,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-08 06:24:28,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 06:24:28,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-08 06:24:28,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2022-04-08 06:24:28,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:28,427 INFO L225 Difference]: With dead ends: 133 [2022-04-08 06:24:28,427 INFO L226 Difference]: Without dead ends: 110 [2022-04-08 06:24:28,429 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:24:28,431 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 24 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:28,431 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 262 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 288 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 06:24:28,432 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-08 06:24:28,539 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-08 06:24:28,539 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:28,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:28,540 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:28,542 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:28,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:28,552 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 06:24:28,552 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:28,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:28,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:28,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-08 06:24:28,554 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-08 06:24:28,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:28,558 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 06:24:28,559 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:28,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:28,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:28,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:28,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:28,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:24:28,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-08 06:24:28,564 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-08 06:24:28,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:28,564 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-08 06:24:28,564 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 06:24:28,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-08 06:24:28,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:28,742 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-08 06:24:28,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 06:24:28,743 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:28,743 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:28,760 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 06:24:28,947 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 06:24:28,947 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:28,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:28,948 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-08 06:24:28,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:28,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [460304243] [2022-04-08 06:24:28,948 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:28,948 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-08 06:24:28,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:28,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [881543900] [2022-04-08 06:24:28,949 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:28,949 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:28,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:28,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [594674809] [2022-04-08 06:24:28,965 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:24:28,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:28,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:28,966 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 06:24:28,976 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 06:24:29,016 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:24:29,016 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:29,017 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 06:24:29,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:29,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:24:32,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-08 06:24:32,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#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); {5867#true} is VALID [2022-04-08 06:24:32,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#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; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,553 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-08 06:24:32,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !false; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,561 INFO L272 TraceCheckUtils]: 24: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,561 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #87#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,562 INFO L272 TraceCheckUtils]: 29: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,562 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,562 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #89#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,563 INFO L272 TraceCheckUtils]: 34: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,563 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,563 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #91#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,564 INFO L290 TraceCheckUtils]: 39: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,565 INFO L290 TraceCheckUtils]: 40: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,565 INFO L272 TraceCheckUtils]: 41: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,565 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,566 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,566 INFO L272 TraceCheckUtils]: 46: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,566 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,566 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,566 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,567 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,567 INFO L272 TraceCheckUtils]: 51: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,567 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,567 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,567 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,568 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,568 INFO L290 TraceCheckUtils]: 56: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,569 INFO L272 TraceCheckUtils]: 58: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,569 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,569 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,569 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,570 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #93#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,570 INFO L272 TraceCheckUtils]: 63: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:32,570 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,570 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,570 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,571 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #95#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,572 INFO L290 TraceCheckUtils]: 68: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} is VALID [2022-04-08 06:24:32,574 INFO L290 TraceCheckUtils]: 69: Hoare triple {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< 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; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 06:24:32,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !false; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 06:24:32,574 INFO L272 TraceCheckUtils]: 71: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~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)); {5867#true} is VALID [2022-04-08 06:24:32,574 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,574 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,575 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,575 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #93#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 06:24:32,575 INFO L272 TraceCheckUtils]: 76: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~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)); {5867#true} is VALID [2022-04-08 06:24:32,575 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:32,576 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:32,576 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:32,576 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #95#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 06:24:32,577 INFO L290 TraceCheckUtils]: 81: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !(1 != ~p~0); {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 06:24:32,578 INFO L272 TraceCheckUtils]: 82: Hoare triple {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:32,578 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:32,578 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-08 06:24:32,578 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-08 06:24:32,579 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-08 06:24:32,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:24:53,574 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-08 06:24:53,574 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-08 06:24:53,574 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:24:53,575 INFO L272 TraceCheckUtils]: 82: Hoare triple {6144#(= (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)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:24:53,575 INFO L290 TraceCheckUtils]: 81: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 06:24:53,576 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6148#(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 06:24:53,576 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,576 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,576 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,576 INFO L272 TraceCheckUtils]: 76: Hoare triple {6148#(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)); {5867#true} is VALID [2022-04-08 06:24:53,577 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {6148#(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 06:24:53,577 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,577 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,577 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,577 INFO L272 TraceCheckUtils]: 71: Hoare triple {6148#(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)); {5867#true} is VALID [2022-04-08 06:24:53,577 INFO L290 TraceCheckUtils]: 70: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {6148#(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 06:24:53,580 INFO L290 TraceCheckUtils]: 69: Hoare triple {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6148#(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 06:24:53,587 INFO L290 TraceCheckUtils]: 68: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 06:24:53,588 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #95#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:24:53,588 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,588 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,588 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,588 INFO L272 TraceCheckUtils]: 63: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,589 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #93#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:24:53,589 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,589 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,589 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,589 INFO L272 TraceCheckUtils]: 58: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,590 INFO L290 TraceCheckUtils]: 57: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:24:53,591 INFO L290 TraceCheckUtils]: 56: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 06:24:53,592 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:53,592 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,592 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,592 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,592 INFO L272 TraceCheckUtils]: 51: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,593 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:53,593 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,593 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,593 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,593 INFO L272 TraceCheckUtils]: 46: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,594 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:53,594 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,594 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,594 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,594 INFO L272 TraceCheckUtils]: 41: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,595 INFO L290 TraceCheckUtils]: 40: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:53,599 INFO L290 TraceCheckUtils]: 39: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:24:53,599 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:53,599 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L272 TraceCheckUtils]: 34: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:53,600 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,600 INFO L272 TraceCheckUtils]: 29: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,601 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:53,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,601 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,601 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,601 INFO L272 TraceCheckUtils]: 24: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,601 INFO L290 TraceCheckUtils]: 23: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:24:53,602 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#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; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#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); {5867#true} is VALID [2022-04-08 06:24:53,603 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-08 06:24:53,604 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-08 06:24:53,604 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:24:53,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [881543900] [2022-04-08 06:24:53,604 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:24:53,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [594674809] [2022-04-08 06:24:53,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [594674809] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:24:53,604 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:24:53,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-08 06:24:53,605 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:24:53,605 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [460304243] [2022-04-08 06:24:53,605 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [460304243] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:24:53,605 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:24:53,605 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 06:24:53,605 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1284188882] [2022-04-08 06:24:53,605 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:24:53,606 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 06:24:53,606 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:24:53,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:24:53,661 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 06:24:53,661 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 06:24:53,661 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:53,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 06:24:53,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:24:53,662 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:24:55,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:55,475 INFO L93 Difference]: Finished difference Result 145 states and 170 transitions. [2022-04-08 06:24:55,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:24:55,475 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 06:24:55,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:24:55,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:24:55,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-08 06:24:55,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:24:55,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-08 06:24:55,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2022-04-08 06:24:55,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:55,582 INFO L225 Difference]: With dead ends: 145 [2022-04-08 06:24:55,582 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 06:24:55,582 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 156 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-08 06:24:55,583 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 10 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 250 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 236 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 250 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 06:24:55,583 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 236 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 250 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 06:24:55,584 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 06:24:55,690 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-08 06:24:55,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:24:55,690 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:24:55,691 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:24:55,691 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:24:55,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:55,693 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-08 06:24:55,693 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-08 06:24:55,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:55,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:55,694 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-08 06:24:55,694 INFO L87 Difference]: Start difference. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-08 06:24:55,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:24:55,697 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-08 06:24:55,697 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-08 06:24:55,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:24:55,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:24:55,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:24:55,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:24:55,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-08 06:24:55,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 103 transitions. [2022-04-08 06:24:55,700 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 103 transitions. Word has length 86 [2022-04-08 06:24:55,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:24:55,701 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 103 transitions. [2022-04-08 06:24:55,701 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:24:55,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 103 transitions. [2022-04-08 06:24:55,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:24:55,881 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 103 transitions. [2022-04-08 06:24:55,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-08 06:24:55,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:24:55,882 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:24:55,909 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 06:24:56,082 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 06:24:56,083 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:24:56,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:24:56,083 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-08 06:24:56,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:24:56,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1912106311] [2022-04-08 06:24:56,084 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:24:56,084 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-08 06:24:56,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:24:56,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1416897718] [2022-04-08 06:24:56,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:24:56,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:24:56,095 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:24:56,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1658351955] [2022-04-08 06:24:56,096 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:24:56,096 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:24:56,096 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:24:56,100 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 06:24:56,101 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 06:24:56,145 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 06:24:56,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:24:56,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 06:24:56,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:24:56,168 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:26:14,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#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); {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#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; {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,780 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-08 06:26:14,780 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,781 INFO L272 TraceCheckUtils]: 24: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:26:14,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,781 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,782 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,782 INFO L272 TraceCheckUtils]: 29: Hoare triple {7132#(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)); {7061#true} is VALID [2022-04-08 06:26:14,782 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,782 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,783 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,783 INFO L272 TraceCheckUtils]: 34: Hoare triple {7132#(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)); {7061#true} is VALID [2022-04-08 06:26:14,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,783 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,783 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,784 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {7132#(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; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,785 INFO L290 TraceCheckUtils]: 40: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,785 INFO L272 TraceCheckUtils]: 41: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:26:14,785 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,785 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,786 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,786 INFO L272 TraceCheckUtils]: 46: Hoare triple {7132#(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)); {7061#true} is VALID [2022-04-08 06:26:14,786 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,786 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,786 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,787 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,787 INFO L272 TraceCheckUtils]: 51: Hoare triple {7132#(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)); {7061#true} is VALID [2022-04-08 06:26:14,787 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,787 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,787 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,788 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:26:14,789 INFO L290 TraceCheckUtils]: 56: Hoare triple {7132#(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; {7235#(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 06:26:14,790 INFO L290 TraceCheckUtils]: 57: Hoare triple {7235#(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; {7235#(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 06:26:14,790 INFO L272 TraceCheckUtils]: 58: Hoare triple {7235#(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)); {7061#true} is VALID [2022-04-08 06:26:14,790 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,790 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,790 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,791 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7235#(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 06:26:14,791 INFO L272 TraceCheckUtils]: 63: Hoare triple {7235#(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)); {7061#true} is VALID [2022-04-08 06:26:14,791 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,791 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,791 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,792 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7235#(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 06:26:14,792 INFO L272 TraceCheckUtils]: 68: Hoare triple {7235#(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)); {7061#true} is VALID [2022-04-08 06:26:14,792 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:26:14,793 INFO L290 TraceCheckUtils]: 70: Hoare triple {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:26:14,793 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:26:14,794 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7286#(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 06:26:14,795 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(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); {7286#(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 06:26:14,796 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(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; {7286#(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 06:26:14,796 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(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)); {7061#true} is VALID [2022-04-08 06:26:14,796 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,796 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,796 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,797 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7286#(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 06:26:14,797 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(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)); {7061#true} is VALID [2022-04-08 06:26:14,797 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:26:14,797 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:26:14,797 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:26:14,798 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7286#(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 06:26:14,805 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(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); {7326#(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 06:26:14,809 INFO L290 TraceCheckUtils]: 86: Hoare triple {7326#(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; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:26:14,809 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:26:14,810 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (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)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:26:14,810 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:26:14,811 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-08 06:26:14,811 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-08 06:26:14,811 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-08 06:26:14,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:26:37,693 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse13 (mod c_main_~B~0 4294967296))) (or (let ((.cse2 (= (mod c_main_~p~0 2) 0)) (.cse12 (div c_main_~p~0 2))) (let ((.cse1 (* (+ c_main_~q~0 .cse12 1) .cse13)) (.cse3 (* (+ c_main_~q~0 .cse12) .cse13)) (.cse4 (not .cse2)) (.cse5 (mod c_main_~A~0 4294967296)) (.cse6 (div c_main_~d~0 2)) (.cse7 (* (- 1) c_main_~r~0)) (.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0))) (and (or (let ((.cse0 (+ .cse5 .cse6 .cse7 1))) (and (or (= .cse0 .cse1) .cse2) (or (= .cse0 .cse3) .cse4))) .cse8 (not .cse9)) (or (let ((.cse10 (+ .cse5 .cse6 .cse7)) (.cse11 (< c_main_~p~0 0))) (and (or (= .cse10 .cse1) .cse2 (not .cse11)) (or (= .cse10 .cse3) (and .cse4 .cse11)))) (and .cse9 (not .cse8)))))) (not (= c_main_~d~0 (* c_main_~p~0 .cse13))))) is different from true [2022-04-08 06:27:30,857 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-08 06:27:30,857 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-08 06:27:30,858 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:27:30,858 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (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)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:27:30,859 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,861 INFO L290 TraceCheckUtils]: 86: Hoare triple {7363#(= (* (+ 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; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,872 INFO L290 TraceCheckUtils]: 85: Hoare triple {7367#(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); {7363#(= (* (+ 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 06:27:30,873 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7367#(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)))))} #95#return; {7367#(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 06:27:30,873 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,873 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,873 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,873 INFO L272 TraceCheckUtils]: 80: Hoare triple {7367#(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)); {7061#true} is VALID [2022-04-08 06:27:30,874 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7367#(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)))))} #93#return; {7367#(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 06:27:30,874 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,874 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,874 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,874 INFO L272 TraceCheckUtils]: 75: Hoare triple {7367#(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)); {7061#true} is VALID [2022-04-08 06:27:30,875 INFO L290 TraceCheckUtils]: 74: Hoare triple {7367#(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; {7367#(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 06:27:30,876 INFO L290 TraceCheckUtils]: 73: Hoare triple {7367#(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); {7367#(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 06:27:30,879 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7407#(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))))))))} #91#return; {7367#(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 06:27:30,880 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:30,880 INFO L290 TraceCheckUtils]: 70: Hoare triple {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:30,880 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:27:30,880 INFO L272 TraceCheckUtils]: 68: Hoare triple {7407#(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)); {7061#true} is VALID [2022-04-08 06:27:30,881 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7407#(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))))))))} #89#return; {7407#(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 06:27:30,881 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,881 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,881 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,881 INFO L272 TraceCheckUtils]: 63: Hoare triple {7407#(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)); {7061#true} is VALID [2022-04-08 06:27:30,882 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7407#(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))))))))} #87#return; {7407#(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 06:27:30,882 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,882 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,882 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,882 INFO L272 TraceCheckUtils]: 58: Hoare triple {7407#(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)); {7061#true} is VALID [2022-04-08 06:27:30,884 INFO L290 TraceCheckUtils]: 57: Hoare triple {7407#(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; {7407#(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 06:27:30,889 INFO L290 TraceCheckUtils]: 56: Hoare triple {7330#(= (+ (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; {7407#(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 06:27:30,889 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L272 TraceCheckUtils]: 51: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,890 INFO L272 TraceCheckUtils]: 46: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,891 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,891 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,891 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,891 INFO L272 TraceCheckUtils]: 41: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,891 INFO L290 TraceCheckUtils]: 40: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,892 INFO L290 TraceCheckUtils]: 39: Hoare triple {7330#(= (+ (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; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,892 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,892 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,892 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,893 INFO L272 TraceCheckUtils]: 34: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,893 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,893 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,893 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,893 INFO L272 TraceCheckUtils]: 29: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,894 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,894 INFO L272 TraceCheckUtils]: 24: Hoare triple {7330#(= (+ (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)); {7061#true} is VALID [2022-04-08 06:27:30,894 INFO L290 TraceCheckUtils]: 23: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:27:30,895 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:27:30,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#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; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#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); {7061#true} is VALID [2022-04-08 06:27:30,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-08 06:27:30,897 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 207 trivial. 8 not checked. [2022-04-08 06:27:30,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:27:30,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1416897718] [2022-04-08 06:27:30,897 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:27:30,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1658351955] [2022-04-08 06:27:30,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1658351955] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:27:30,897 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:27:30,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-08 06:27:30,897 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:27:30,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1912106311] [2022-04-08 06:27:30,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1912106311] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:27:30,898 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:27:30,898 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:27:30,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1389537714] [2022-04-08 06:27:30,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:27:30,898 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-08 06:27:30,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:27:30,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:27:30,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:27:30,960 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:27:30,960 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:27:30,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:27:30,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=142, Unknown=1, NotChecked=24, Total=210 [2022-04-08 06:27:30,961 INFO L87 Difference]: Start difference. First operand 89 states and 103 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:27:33,369 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 06:27:35,468 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-08 06:27:37,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:37,810 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2022-04-08 06:27:37,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:27:37,810 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-08 06:27:37,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:27:37,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:27:37,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-08 06:27:37,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:27:37,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-08 06:27:37,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 81 transitions. [2022-04-08 06:27:37,929 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 06:27:37,931 INFO L225 Difference]: With dead ends: 107 [2022-04-08 06:27:37,931 INFO L226 Difference]: Without dead ends: 95 [2022-04-08 06:27:37,931 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 4.8s TimeCoverageRelationStatistics Valid=56, Invalid=187, Unknown=1, NotChecked=28, Total=272 [2022-04-08 06:27:37,932 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 26 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 34 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:27:37,932 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 151 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 191 Invalid, 2 Unknown, 0 Unchecked, 5.2s Time] [2022-04-08 06:27:37,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-08 06:27:38,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-04-08 06:27:38,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:27:38,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 06:27:38,055 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 06:27:38,056 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 06:27:38,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:38,058 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-08 06:27:38,058 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-08 06:27:38,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:27:38,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:27:38,059 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-08 06:27:38,059 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-08 06:27:38,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:27:38,061 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-08 06:27:38,062 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-08 06:27:38,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:27:38,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:27:38,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:27:38,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:27:38,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 06:27:38,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 108 transitions. [2022-04-08 06:27:38,065 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 108 transitions. Word has length 92 [2022-04-08 06:27:38,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:27:38,066 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 108 transitions. [2022-04-08 06:27:38,066 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 06:27:38,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 108 transitions. [2022-04-08 06:27:38,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:27:38,293 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-08 06:27:38,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-08 06:27:38,294 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:27:38,294 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:27:38,320 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 06:27:38,494 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 06:27:38,494 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:27:38,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:27:38,495 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-08 06:27:38,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:27:38,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [795283155] [2022-04-08 06:27:38,495 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:27:38,495 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-08 06:27:38,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:27:38,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1716987618] [2022-04-08 06:27:38,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:27:38,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:27:38,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:27:38,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1330236450] [2022-04-08 06:27:38,506 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:27:38,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:27:38,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:27:38,507 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 06:27:38,507 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 06:27:38,589 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:27:38,589 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:27:38,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 06:27:38,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:27:38,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:27:42,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-08 06:27:42,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#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); {8225#true} is VALID [2022-04-08 06:27:42,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-08 06:27:42,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-08 06:27:42,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#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; {8225#true} is VALID [2022-04-08 06:27:42,663 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:27:42,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:27:42,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:27:42,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} {8225#true} #81#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:27:42,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:27:42,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #83#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:27:42,665 INFO L272 TraceCheckUtils]: 17: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,666 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #85#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:27:42,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:27:42,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} assume !false; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:27:42,666 INFO L272 TraceCheckUtils]: 24: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,667 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,667 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #87#return; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:27:42,667 INFO L272 TraceCheckUtils]: 29: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,668 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:27:42,668 INFO L290 TraceCheckUtils]: 31: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:42,668 INFO L290 TraceCheckUtils]: 32: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:42,670 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #89#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:27:42,670 INFO L272 TraceCheckUtils]: 34: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,670 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:27:42,670 INFO L290 TraceCheckUtils]: 36: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:42,671 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:27:42,671 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} #91#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-08 06:27:42,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,673 INFO L290 TraceCheckUtils]: 40: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,673 INFO L272 TraceCheckUtils]: 41: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,673 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,673 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,673 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,673 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,673 INFO L272 TraceCheckUtils]: 46: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,674 INFO L272 TraceCheckUtils]: 51: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,674 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,675 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,676 INFO L290 TraceCheckUtils]: 56: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,676 INFO L290 TraceCheckUtils]: 57: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,676 INFO L272 TraceCheckUtils]: 58: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,677 INFO L272 TraceCheckUtils]: 63: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,677 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,678 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,678 INFO L272 TraceCheckUtils]: 68: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,678 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,678 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,678 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,690 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-08 06:27:42,692 INFO L290 TraceCheckUtils]: 73: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !(~r~0 >= ~d~0); {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 06:27:42,693 INFO L290 TraceCheckUtils]: 74: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !false; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 06:27:42,693 INFO L272 TraceCheckUtils]: 75: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,693 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,693 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,694 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,694 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #93#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 06:27:42,694 INFO L272 TraceCheckUtils]: 80: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,695 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,695 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,695 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,695 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #95#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 06:27:42,697 INFO L290 TraceCheckUtils]: 85: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:27:42,697 INFO L290 TraceCheckUtils]: 86: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:27:42,698 INFO L290 TraceCheckUtils]: 87: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !false; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:27:42,698 INFO L272 TraceCheckUtils]: 88: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:27:42,698 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:27:42,698 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:27:42,698 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:27:42,699 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #93#return; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:27:42,699 INFO L272 TraceCheckUtils]: 93: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:27:42,700 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:27:42,700 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-08 06:27:42,700 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-08 06:27:42,700 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 28 proven. 80 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2022-04-08 06:27:42,701 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:28:26,935 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-08 06:28:26,936 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-08 06:28:26,936 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:28:26,937 INFO L272 TraceCheckUtils]: 93: Hoare triple {8540#(= 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)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:28:26,938 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:26,938 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,938 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,938 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,938 INFO L272 TraceCheckUtils]: 88: Hoare triple {8540#(= 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)); {8225#true} is VALID [2022-04-08 06:28:26,938 INFO L290 TraceCheckUtils]: 87: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:26,939 INFO L290 TraceCheckUtils]: 86: Hoare triple {8540#(= 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; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:26,958 INFO L290 TraceCheckUtils]: 85: Hoare triple {8565#(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); {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:28:26,959 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {8565#(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 06:28:26,959 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,959 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,959 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,959 INFO L272 TraceCheckUtils]: 80: Hoare triple {8565#(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)); {8225#true} is VALID [2022-04-08 06:28:26,960 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {8565#(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 06:28:26,960 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,960 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,960 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,960 INFO L272 TraceCheckUtils]: 75: Hoare triple {8565#(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)); {8225#true} is VALID [2022-04-08 06:28:26,962 INFO L290 TraceCheckUtils]: 74: Hoare triple {8565#(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; {8565#(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 06:28:26,963 INFO L290 TraceCheckUtils]: 73: Hoare triple {8602#(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); {8565#(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 06:28:26,964 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #91#return; {8602#(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 06:28:26,964 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,964 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,964 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,964 INFO L272 TraceCheckUtils]: 68: Hoare triple {8602#(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)); {8225#true} is VALID [2022-04-08 06:28:26,965 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #89#return; {8602#(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 06:28:26,965 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,965 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,965 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,965 INFO L272 TraceCheckUtils]: 63: Hoare triple {8602#(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)); {8225#true} is VALID [2022-04-08 06:28:26,966 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #87#return; {8602#(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 06:28:26,966 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,966 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,966 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,966 INFO L272 TraceCheckUtils]: 58: Hoare triple {8602#(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)); {8225#true} is VALID [2022-04-08 06:28:26,968 INFO L290 TraceCheckUtils]: 57: Hoare triple {8602#(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; {8602#(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 06:28:26,973 INFO L290 TraceCheckUtils]: 56: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8602#(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 06:28:26,974 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:28:26,974 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,974 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,974 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,975 INFO L272 TraceCheckUtils]: 51: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,975 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:28:26,975 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,975 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,976 INFO L272 TraceCheckUtils]: 46: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,976 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:28:26,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,976 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,976 INFO L272 TraceCheckUtils]: 41: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:28:26,979 INFO L290 TraceCheckUtils]: 39: Hoare triple {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:28:26,980 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8225#true} #91#return; {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 06:28:26,981 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:28:26,981 INFO L290 TraceCheckUtils]: 36: Hoare triple {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:28:26,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:28:26,982 INFO L272 TraceCheckUtils]: 34: Hoare triple {8225#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8225#true} {8225#true} #89#return; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 32: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L272 TraceCheckUtils]: 29: Hoare triple {8225#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8225#true} #87#return; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,982 INFO L272 TraceCheckUtils]: 24: Hoare triple {8225#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 23: Hoare triple {8225#true} assume !false; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {8225#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8225#true} #85#return; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L272 TraceCheckUtils]: 17: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8225#true} #83#return; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,983 INFO L272 TraceCheckUtils]: 12: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 11: Hoare triple {8225#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8225#true} {8225#true} #81#return; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#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; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#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); {8225#true} is VALID [2022-04-08 06:28:26,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-08 06:28:26,985 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 37 proven. 38 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2022-04-08 06:28:26,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:28:26,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1716987618] [2022-04-08 06:28:26,985 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:28:26,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1330236450] [2022-04-08 06:28:26,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1330236450] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:28:26,986 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:28:26,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 21 [2022-04-08 06:28:26,986 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:28:26,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [795283155] [2022-04-08 06:28:26,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [795283155] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:28:26,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:28:26,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 06:28:26,986 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [159351360] [2022-04-08 06:28:26,986 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:28:26,987 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-08 06:28:26,989 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:28:26,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 06:28:27,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:28:27,072 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 06:28:27,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:28:27,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 06:28:27,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-08 06:28:27,073 INFO L87 Difference]: Start difference. First operand 95 states and 108 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 06:28:31,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:28:31,545 INFO L93 Difference]: Finished difference Result 154 states and 184 transitions. [2022-04-08 06:28:31,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 06:28:31,545 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-08 06:28:31,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:28:31,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 06:28:31,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-08 06:28:31,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 06:28:31,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-08 06:28:31,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-08 06:28:31,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:28:31,728 INFO L225 Difference]: With dead ends: 154 [2022-04-08 06:28:31,729 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 06:28:31,729 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 172 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-08 06:28:31,730 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 36 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 661 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 273 SdHoareTripleChecker+Invalid, 708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 661 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 06:28:31,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 273 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 661 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 06:28:31,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 06:28:31,948 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-08 06:28:31,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:28:31,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:28:31,949 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:28:31,949 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:28:31,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:28:31,952 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-08 06:28:31,952 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-08 06:28:31,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:28:31,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:28:31,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-08 06:28:31,954 INFO L87 Difference]: Start difference. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-08 06:28:31,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:28:31,957 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-08 06:28:31,957 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-08 06:28:31,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:28:31,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:28:31,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:28:31,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:28:31,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:28:31,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 151 transitions. [2022-04-08 06:28:31,962 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 151 transitions. Word has length 97 [2022-04-08 06:28:31,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:28:31,962 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 151 transitions. [2022-04-08 06:28:31,962 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 06:28:31,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 151 transitions. [2022-04-08 06:28:32,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:28:32,359 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-08 06:28:32,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 06:28:32,360 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:28:32,360 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:28:32,378 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 06:28:32,561 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 06:28:32,561 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:28:32,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:28:32,561 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-08 06:28:32,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:28:32,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1031961749] [2022-04-08 06:28:32,562 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:28:32,562 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-08 06:28:32,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:28:32,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1093170821] [2022-04-08 06:28:32,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:28:32,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:28:32,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:28:32,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [807290160] [2022-04-08 06:28:32,575 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:28:32,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:28:32,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:28:32,576 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 06:28:32,591 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 06:28:32,636 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:28:32,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:28:32,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 06:28:32,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:28:32,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:28:54,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#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); {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#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; {9667#true} is VALID [2022-04-08 06:28:54,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 06:28:54,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:28:54,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:28:54,071 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:54,071 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:54,071 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,072 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:54,072 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,072 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,072 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,072 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:54,074 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-08 06:28:54,075 INFO L290 TraceCheckUtils]: 23: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !false; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-08 06:28:54,075 INFO L272 TraceCheckUtils]: 24: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,075 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,075 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,075 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #87#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-08 06:28:54,076 INFO L272 TraceCheckUtils]: 29: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #89#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-08 06:28:54,076 INFO L272 TraceCheckUtils]: 34: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,076 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,077 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #91#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-08 06:28:54,078 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,078 INFO L290 TraceCheckUtils]: 40: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,078 INFO L272 TraceCheckUtils]: 41: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,078 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,079 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,079 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,079 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,079 INFO L272 TraceCheckUtils]: 46: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,080 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,080 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,080 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,080 INFO L272 TraceCheckUtils]: 51: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,080 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,081 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,081 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,083 INFO L290 TraceCheckUtils]: 56: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,084 INFO L290 TraceCheckUtils]: 57: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,084 INFO L272 TraceCheckUtils]: 58: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,084 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,084 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,085 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,085 INFO L272 TraceCheckUtils]: 63: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,085 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,085 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,085 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,086 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,086 INFO L272 TraceCheckUtils]: 68: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,086 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,086 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,086 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,087 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,088 INFO L290 TraceCheckUtils]: 73: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !(~r~0 >= ~d~0); {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,088 INFO L290 TraceCheckUtils]: 74: Hoare triple {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,088 INFO L272 TraceCheckUtils]: 75: Hoare triple {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,088 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,088 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,089 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,089 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #93#return; {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,089 INFO L272 TraceCheckUtils]: 80: Hoare triple {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,090 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,090 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,090 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,090 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #95#return; {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,093 INFO L290 TraceCheckUtils]: 85: Hoare triple {9897#(and (= (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) (< (div (+ 2 (* (- 1) main_~r~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); {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-08 06:28:54,096 INFO L290 TraceCheckUtils]: 86: Hoare triple {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-08 06:28:54,097 INFO L290 TraceCheckUtils]: 87: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} assume !false; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-08 06:28:54,097 INFO L272 TraceCheckUtils]: 88: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,098 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,098 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,098 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,099 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #93#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-08 06:28:54,099 INFO L272 TraceCheckUtils]: 93: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:54,099 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:54,099 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:54,099 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:54,100 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #95#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-08 06:28:54,104 INFO L290 TraceCheckUtils]: 98: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 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); {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-08 06:28:54,106 INFO L290 TraceCheckUtils]: 99: Hoare triple {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-08 06:28:54,106 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-08 06:28:54,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:28:55,717 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-08 06:28:55,718 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-08 06:28:55,718 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-08 06:28:55,718 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-08 06:28:55,718 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-08 06:28:55,719 INFO L290 TraceCheckUtils]: 99: Hoare triple {10009#(not (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-08 06:28:55,720 INFO L290 TraceCheckUtils]: 98: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) 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); {10009#(not (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,721 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #95#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:28:55,721 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,721 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,721 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,721 INFO L272 TraceCheckUtils]: 93: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,722 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #93#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:28:55,722 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,722 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,722 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,722 INFO L272 TraceCheckUtils]: 88: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,724 INFO L290 TraceCheckUtils]: 87: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !false; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:28:55,725 INFO L290 TraceCheckUtils]: 86: Hoare triple {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-08 06:28:55,727 INFO L290 TraceCheckUtils]: 85: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 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); {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-08 06:28:55,736 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #95#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:28:55,736 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,736 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,736 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,736 INFO L272 TraceCheckUtils]: 80: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,737 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #93#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:28:55,737 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,738 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,738 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,738 INFO L272 TraceCheckUtils]: 75: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,739 INFO L290 TraceCheckUtils]: 74: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:28:55,741 INFO L290 TraceCheckUtils]: 73: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-08 06:28:55,742 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #91#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,742 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,742 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,742 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,742 INFO L272 TraceCheckUtils]: 68: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,742 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #89#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L272 TraceCheckUtils]: 63: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #87#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,743 INFO L272 TraceCheckUtils]: 58: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !false; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,745 INFO L290 TraceCheckUtils]: 56: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 06:28:55,745 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L272 TraceCheckUtils]: 51: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,746 INFO L272 TraceCheckUtils]: 46: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,747 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:28:55,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,747 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,747 INFO L272 TraceCheckUtils]: 41: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,747 INFO L290 TraceCheckUtils]: 40: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:28:55,749 INFO L290 TraceCheckUtils]: 39: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 06:28:55,749 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #91#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-08 06:28:55,749 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L272 TraceCheckUtils]: 34: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #89#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-08 06:28:55,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,750 INFO L272 TraceCheckUtils]: 29: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,751 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #87#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-08 06:28:55,751 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,751 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,751 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,751 INFO L272 TraceCheckUtils]: 24: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !false; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-08 06:28:55,752 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-08 06:28:55,753 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-08 06:28:55,753 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:55,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-08 06:28:55,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:28:55,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 06:28:55,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 06:28:55,755 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-08 06:28:55,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#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; {9667#true} is VALID [2022-04-08 06:28:55,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-08 06:28:55,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-08 06:28:55,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-08 06:28:55,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#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); {9667#true} is VALID [2022-04-08 06:28:55,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-08 06:28:55,756 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-08 06:28:55,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:28:55,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1093170821] [2022-04-08 06:28:55,756 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:28:55,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [807290160] [2022-04-08 06:28:55,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [807290160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:28:55,756 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:28:55,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-08 06:28:55,757 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:28:55,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1031961749] [2022-04-08 06:28:55,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1031961749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:28:55,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:28:55,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:28:55,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543994852] [2022-04-08 06:28:55,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:28:55,757 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:28:55,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:28:55,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:28:55,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:28:55,856 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:28:55,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:28:55,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:28:55,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=297, Unknown=0, NotChecked=0, Total=380 [2022-04-08 06:28:55,857 INFO L87 Difference]: Start difference. First operand 129 states and 151 transitions. Second operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:29:00,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:29:00,570 INFO L93 Difference]: Finished difference Result 176 states and 217 transitions. [2022-04-08 06:29:00,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 06:29:00,570 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-08 06:29:00,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:29:00,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:29:00,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 06:29:00,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:29:00,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-08 06:29:00,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-08 06:29:00,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:29:00,757 INFO L225 Difference]: With dead ends: 176 [2022-04-08 06:29:00,757 INFO L226 Difference]: Without dead ends: 148 [2022-04-08 06:29:00,758 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 190 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=165, Invalid=591, Unknown=0, NotChecked=0, Total=756 [2022-04-08 06:29:00,758 INFO L913 BasicCegarLoop]: 68 mSDtfsCounter, 34 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.7s IncrementalHoareTripleChecker+Time [2022-04-08 06:29:00,758 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 272 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-08 06:29:00,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-08 06:29:01,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 142. [2022-04-08 06:29:01,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:29:01,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:29:01,120 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:29:01,120 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:29:01,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:29:01,124 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-08 06:29:01,124 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-08 06:29:01,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:29:01,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:29:01,126 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-08 06:29:01,126 INFO L87 Difference]: Start difference. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-08 06:29:01,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:29:01,130 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-08 06:29:01,130 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-08 06:29:01,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:29:01,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:29:01,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:29:01,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:29:01,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:29:01,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 172 transitions. [2022-04-08 06:29:01,135 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 172 transitions. Word has length 105 [2022-04-08 06:29:01,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:29:01,135 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 172 transitions. [2022-04-08 06:29:01,136 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 06:29:01,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 172 transitions. [2022-04-08 06:29:01,543 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:29:01,543 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-04-08 06:29:01,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-08 06:29:01,544 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:29:01,544 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:29:01,562 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 06:29:01,747 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 06:29:01,747 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:29:01,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:29:01,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-08 06:29:01,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:29:01,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1087417671] [2022-04-08 06:29:01,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:29:01,748 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-08 06:29:01,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:29:01,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421432524] [2022-04-08 06:29:01,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:29:01,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:29:01,773 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:29:01,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [271272350] [2022-04-08 06:29:01,773 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:29:01,773 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:29:01,773 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:29:01,774 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 06:29:01,784 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 06:29:01,886 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 06:29:01,887 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:29:01,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 06:29:01,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:29:01,918 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:29:12,096 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:29:44,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-08 06:29:44,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#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); {11264#true} is VALID [2022-04-08 06:29:44,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-08 06:29:44,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-08 06:29:44,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#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; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,896 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-08 06:29:44,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,897 INFO L272 TraceCheckUtils]: 24: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,897 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,898 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,898 INFO L272 TraceCheckUtils]: 29: Hoare triple {11335#(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)); {11264#true} is VALID [2022-04-08 06:29:44,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,899 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,899 INFO L272 TraceCheckUtils]: 34: Hoare triple {11335#(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)); {11264#true} is VALID [2022-04-08 06:29:44,899 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,899 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,899 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {11335#(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; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,900 INFO L272 TraceCheckUtils]: 41: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,900 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,901 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,901 INFO L272 TraceCheckUtils]: 46: Hoare triple {11335#(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)); {11264#true} is VALID [2022-04-08 06:29:44,901 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,902 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,902 INFO L272 TraceCheckUtils]: 51: Hoare triple {11335#(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)); {11264#true} is VALID [2022-04-08 06:29:44,902 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,902 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,902 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,903 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:29:44,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {11335#(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; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:29:44,905 INFO L290 TraceCheckUtils]: 57: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:29:44,905 INFO L272 TraceCheckUtils]: 58: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,905 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,905 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,905 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,906 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:29:44,906 INFO L272 TraceCheckUtils]: 63: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,906 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,906 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,906 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,906 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:29:44,906 INFO L272 TraceCheckUtils]: 68: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,907 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:29:44,907 INFO L290 TraceCheckUtils]: 70: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:29:44,907 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:29:44,908 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:29:44,912 INFO L290 TraceCheckUtils]: 73: Hoare triple {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,912 INFO L290 TraceCheckUtils]: 74: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,912 INFO L272 TraceCheckUtils]: 75: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,912 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,912 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,913 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,913 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #87#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,913 INFO L272 TraceCheckUtils]: 80: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,913 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,913 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,913 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,914 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #89#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,914 INFO L272 TraceCheckUtils]: 85: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,914 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,914 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,914 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,915 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #91#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,915 INFO L290 TraceCheckUtils]: 90: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !(~r~0 >= ~d~0); {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,916 INFO L290 TraceCheckUtils]: 91: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,916 INFO L272 TraceCheckUtils]: 92: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,916 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,916 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,916 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,916 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #93#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:44,916 INFO L272 TraceCheckUtils]: 97: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:29:44,917 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:29:44,917 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:29:44,917 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:29:44,917 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #95#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-08 06:29:46,920 WARN L290 TraceCheckUtils]: 102: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} is UNKNOWN [2022-04-08 06:29:46,923 INFO L290 TraceCheckUtils]: 103: Hoare triple {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 06:29:46,925 INFO L290 TraceCheckUtils]: 104: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 06:29:46,925 INFO L272 TraceCheckUtils]: 105: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 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)); {11264#true} is VALID [2022-04-08 06:29:46,925 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:29:46,926 INFO L290 TraceCheckUtils]: 107: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:29:46,926 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:29:46,927 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} is VALID [2022-04-08 06:29:48,430 INFO L272 TraceCheckUtils]: 110: Hoare triple {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:29:48,431 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:29:48,431 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-08 06:29:48,431 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-08 06:29:48,431 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 116 proven. 20 refuted. 0 times theorem prover too weak. 359 trivial. 0 not checked. [2022-04-08 06:29:48,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:31:01,640 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-08 06:31:01,641 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-08 06:31:01,641 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:31:01,641 INFO L272 TraceCheckUtils]: 110: Hoare triple {11628#(= 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)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:31:01,642 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #93#return; {11628#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 06:31:01,642 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:31:01,643 INFO L290 TraceCheckUtils]: 107: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:31:01,643 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:31:01,643 INFO L272 TraceCheckUtils]: 105: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,644 INFO L290 TraceCheckUtils]: 104: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !false; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:31:01,647 INFO L290 TraceCheckUtils]: 103: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:31:01,659 INFO L290 TraceCheckUtils]: 102: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} 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); {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:31:01,660 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #95#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,660 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,660 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,660 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,660 INFO L272 TraceCheckUtils]: 97: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,661 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #93#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,661 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,661 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,661 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,661 INFO L272 TraceCheckUtils]: 92: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,663 INFO L290 TraceCheckUtils]: 91: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,664 INFO L290 TraceCheckUtils]: 90: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !(~r~0 >= ~d~0); {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,665 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #91#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,665 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,665 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,665 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,666 INFO L272 TraceCheckUtils]: 85: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,666 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #89#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,666 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,666 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,666 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,666 INFO L272 TraceCheckUtils]: 80: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,667 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #87#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,667 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,667 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,667 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,667 INFO L272 TraceCheckUtils]: 75: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,669 INFO L290 TraceCheckUtils]: 74: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,674 INFO L290 TraceCheckUtils]: 73: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-08 06:31:01,675 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11264#true} #91#return; {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 06:31:01,676 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:31:01,676 INFO L290 TraceCheckUtils]: 70: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:31:01,676 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:31:01,676 INFO L272 TraceCheckUtils]: 68: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,676 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-08 06:31:01,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L272 TraceCheckUtils]: 63: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L272 TraceCheckUtils]: 58: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 57: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 56: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L272 TraceCheckUtils]: 51: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-08 06:31:01,677 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L272 TraceCheckUtils]: 46: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L272 TraceCheckUtils]: 41: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 40: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 39: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L272 TraceCheckUtils]: 34: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L272 TraceCheckUtils]: 29: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L272 TraceCheckUtils]: 24: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 23: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#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; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#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); {11264#true} is VALID [2022-04-08 06:31:01,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-08 06:31:01,681 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 107 proven. 21 refuted. 0 times theorem prover too weak. 367 trivial. 0 not checked. [2022-04-08 06:31:01,681 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:31:01,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421432524] [2022-04-08 06:31:01,681 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:31:01,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [271272350] [2022-04-08 06:31:01,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [271272350] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:31:01,681 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:31:01,681 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 06:31:01,681 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:31:01,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1087417671] [2022-04-08 06:31:01,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1087417671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:31:01,682 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:31:01,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 06:31:01,682 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [571083654] [2022-04-08 06:31:01,682 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:31:01,682 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-08 06:31:01,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:31:01,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:31:04,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 61 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 06:31:04,429 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 06:31:04,429 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:31:04,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 06:31:04,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=228, Unknown=3, NotChecked=0, Total=306 [2022-04-08 06:31:04,429 INFO L87 Difference]: Start difference. First operand 142 states and 172 transitions. Second operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:31:07,371 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 06:31:09,407 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 06:31:11,426 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 06:31:13,443 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 06:31:17,465 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 06:31:19,520 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 06:31:21,550 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 06:31:23,603 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 06:31:25,640 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 06:31:27,734 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 06:31:29,827 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 06:31:31,843 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 06:31:33,941 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 06:31:38,388 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 06:31:40,392 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 06:31:44,418 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 06:31:46,495 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 06:31:48,532 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 06:31:50,637 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 06:31:52,682 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 06:31:54,701 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 06:31:56,691 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 06:32:05,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:05,928 INFO L93 Difference]: Finished difference Result 161 states and 188 transitions. [2022-04-08 06:32:05,928 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 06:32:05,929 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-08 06:32:05,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:32:05,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:05,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-08 06:32:05,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:05,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-08 06:32:05,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 85 transitions. [2022-04-08 06:32:09,101 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 84 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 06:32:09,105 INFO L225 Difference]: With dead ends: 161 [2022-04-08 06:32:09,105 INFO L226 Difference]: Without dead ends: 149 [2022-04-08 06:32:09,105 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 209 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 91 ImplicationChecksByTransitivity, 12.6s TimeCoverageRelationStatistics Valid=88, Invalid=289, Unknown=3, NotChecked=0, Total=380 [2022-04-08 06:32:09,106 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 19 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 241 mSolverCounterSat, 22 mSolverCounterUnsat, 21 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 48.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 284 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 241 IncrementalHoareTripleChecker+Invalid, 21 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 49.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:32:09,106 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 176 Invalid, 284 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 241 Invalid, 21 Unknown, 0 Unchecked, 49.0s Time] [2022-04-08 06:32:09,106 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-08 06:32:09,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 149. [2022-04-08 06:32:09,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:32:09,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:32:09,430 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:32:09,431 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:32:09,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:09,434 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-08 06:32:09,434 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-08 06:32:09,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:32:09,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:32:09,435 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-08 06:32:09,436 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-08 06:32:09,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:32:09,440 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-08 06:32:09,440 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-08 06:32:09,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:32:09,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:32:09,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:32:09,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:32:09,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 06:32:09,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 175 transitions. [2022-04-08 06:32:09,445 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 175 transitions. Word has length 114 [2022-04-08 06:32:09,445 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:32:09,445 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 175 transitions. [2022-04-08 06:32:09,445 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-08 06:32:09,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 175 transitions. [2022-04-08 06:32:09,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:32:09,961 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-08 06:32:09,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 06:32:09,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:32:09,962 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:32:09,982 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 06:32:10,167 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 06:32:10,168 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:32:10,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:32:10,168 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 1 times [2022-04-08 06:32:10,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:32:10,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [592054782] [2022-04-08 06:32:10,169 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:32:10,169 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 2 times [2022-04-08 06:32:10,169 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:32:10,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1397022352] [2022-04-08 06:32:10,169 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:32:10,169 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:32:10,180 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:32:10,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2107760766] [2022-04-08 06:32:10,181 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:32:10,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:32:10,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:32:10,182 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:32:10,188 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 06:32:10,239 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:32:10,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:32:10,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 06:32:10,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:32:10,265 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:37:22,635 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~A~0 4294967296))) (and (= c_main_~q~0 2) (= (div c_main_~q~0 2) c_main_~p~0) (<= .cse0 2) (= c_main_~d~0 (div (+ .cse0 (* (- 1) c_main_~r~0)) 2)) (<= (div (+ (* 2 c_main_~r~0) (* (- 2) .cse0)) (- 4)) (div .cse0 2)) (< c_main_~r~0 c_main_~d~0))) is different from true