/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 12:52:57,634 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:52:57,648 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:52:57,680 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:52:57,680 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:52:57,681 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:52:57,685 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:52:57,689 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:52:57,689 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:52:57,690 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:52:57,691 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:52:57,691 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:52:57,692 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:52:57,692 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:52:57,693 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:52:57,694 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:52:57,694 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:52:57,695 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:52:57,696 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:52:57,697 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:52:57,698 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:52:57,703 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:52:57,704 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:52:57,705 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:52:57,707 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:52:57,711 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:52:57,712 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:52:57,712 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:52:57,712 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:52:57,712 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:52:57,716 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:52:57,716 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:52:57,716 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:52:57,717 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:52:57,718 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:52:57,718 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:52:57,718 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:52:57,719 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:52:57,719 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:52:57,719 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:52:57,720 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:52:57,721 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:52:57,721 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:52:57,729 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:52:57,730 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:52:57,731 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:52:57,731 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:52:57,732 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:52:57,732 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:52:57,732 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:52:57,733 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:52:57,733 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:52:57,733 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:52:57,733 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:52:57,733 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 12:52:57,923 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:52:57,946 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:52:57,948 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:52:57,949 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:52:57,949 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:52:57,950 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound20.c [2022-04-08 12:52:57,991 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f77dbd02b/ac4a39b239314422b1c2672861bda15a/FLAG8de059847 [2022-04-08 12:52:58,372 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:52:58,372 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound20.c [2022-04-08 12:52:58,381 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f77dbd02b/ac4a39b239314422b1c2672861bda15a/FLAG8de059847 [2022-04-08 12:52:58,389 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f77dbd02b/ac4a39b239314422b1c2672861bda15a [2022-04-08 12:52:58,391 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:52:58,392 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:52:58,393 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:52:58,393 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:52:58,397 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:52:58,398 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,399 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@17772879 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58, skipping insertion in model container [2022-04-08 12:52:58,399 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,406 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:52:58,414 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:52:58,524 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_unwindbound20.c[538,551] [2022-04-08 12:52:58,541 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:52:58,547 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:52:58,557 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_unwindbound20.c[538,551] [2022-04-08 12:52:58,564 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:52:58,573 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:52:58,573 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58 WrapperNode [2022-04-08 12:52:58,573 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:52:58,574 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:52:58,574 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:52:58,574 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:52:58,580 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,580 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,584 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,585 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,589 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,592 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,592 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,594 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:52:58,594 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:52:58,594 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:52:58,594 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:52:58,598 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (1/1) ... [2022-04-08 12:52:58,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:52:58,608 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:52:58,616 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 12:52:58,624 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 12:52:58,640 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:52:58,641 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:52:58,641 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:52:58,641 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:52:58,641 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:52:58,642 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:52:58,642 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:52:58,642 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:52:58,642 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:52:58,642 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:52:58,642 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 12:52:58,643 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:52:58,643 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:52:58,643 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:52:58,643 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:52:58,645 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:52:58,645 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:52:58,645 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:52:58,645 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:52:58,645 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:52:58,689 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:52:58,690 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:52:58,874 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:52:58,878 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:52:58,878 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 12:52:58,879 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:52:58 BoogieIcfgContainer [2022-04-08 12:52:58,879 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:52:58,880 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:52:58,880 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:52:58,897 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:52:58,898 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:52:58" (1/3) ... [2022-04-08 12:52:58,898 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@cd94983 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:52:58, skipping insertion in model container [2022-04-08 12:52:58,898 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:52:58" (2/3) ... [2022-04-08 12:52:58,898 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@cd94983 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:52:58, skipping insertion in model container [2022-04-08 12:52:58,898 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:52:58" (3/3) ... [2022-04-08 12:52:58,899 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound20.c [2022-04-08 12:52:58,902 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:52:58,902 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:52:58,945 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:52:58,961 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 12:52:58,961 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:52:58,978 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 12:52:58,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 12:52:58,983 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:52:58,983 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:52:58,984 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:52:58,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:52:58,987 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-08 12:52:58,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:52:58,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1094128552] [2022-04-08 12:52:58,999 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:52:58,999 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-08 12:52:59,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:52:59,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [789306469] [2022-04-08 12:52:59,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:52:59,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:52:59,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,153 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:52:59,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-08 12:52:59,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:52:59,179 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 12:52:59,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:52:59,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,192 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:52:59,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:52:59,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:52:59,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-08 12:52:59,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:52:59,194 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-08 12:52:59,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 12:52:59,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-08 12:52:59,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-08 12:52:59,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-08 12:52:59,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 12:52:59,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 12:52:59,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 12:52:59,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 12:52:59,196 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-08 12:52:59,196 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-08 12:52:59,197 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 12:52:59,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-08 12:52:59,198 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-08 12:52:59,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 12:52:59,198 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 12:52:59,199 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 12:52:59,199 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 12:52:59,199 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:52:59,200 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [789306469] [2022-04-08 12:52:59,200 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [789306469] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:52:59,200 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:52:59,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:52:59,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:52:59,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1094128552] [2022-04-08 12:52:59,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1094128552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:52:59,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:52:59,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:52:59,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [911970261] [2022-04-08 12:52:59,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:52:59,209 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:52:59,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:52:59,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:52:59,239 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:52:59,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:52:59,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:52:59,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:52:59,261 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:52:59,454 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-08 12:52:59,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:52:59,454 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:52:59,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:52:59,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-08 12:52:59,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-08 12:52:59,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-08 12:52:59,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:52:59,636 INFO L225 Difference]: With dead ends: 66 [2022-04-08 12:52:59,636 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 12:52:59,638 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:52:59,640 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:52:59,640 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:52:59,650 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 12:52:59,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-08 12:52:59,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:52:59,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:52:59,661 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:52:59,661 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:52:59,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:52:59,664 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 12:52:59,665 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 12:52:59,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:52:59,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:52:59,666 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-08 12:52:59,666 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-08 12:52:59,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:52:59,669 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-08 12:52:59,669 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-08 12:52:59,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:52:59,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:52:59,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:52:59,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:52:59,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:52:59,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 12:52:59,673 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-08 12:52:59,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:52:59,673 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 12:52:59,673 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 12:52:59,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:52:59,705 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 12:52:59,706 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-08 12:52:59,706 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:52:59,706 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:52:59,706 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:52:59,706 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:52:59,707 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:52:59,707 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-08 12:52:59,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:52:59,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [186688688] [2022-04-08 12:52:59,708 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:52:59,708 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-08 12:52:59,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:52:59,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757590660] [2022-04-08 12:52:59,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:52:59,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:52:59,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:52:59,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-08 12:52:59,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:52:59,819 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-08 12:52:59,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:52:59,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:52:59,823 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-08 12:52:59,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-08 12:52:59,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:52:59,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-08 12:52:59,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {314#true} call ULTIMATE.init(); {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:52:59,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-08 12:52:59,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:52:59,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-08 12:52:59,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-08 12:52:59,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {314#true} is VALID [2022-04-08 12:52:59,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {314#true} is VALID [2022-04-08 12:52:59,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-08 12:52:59,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-08 12:52:59,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-08 12:52:59,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-08 12:52:59,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {314#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:52:59,826 INFO L290 TraceCheckUtils]: 12: Hoare triple {323#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:52:59,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 20);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-08 12:52:59,827 INFO L272 TraceCheckUtils]: 14: Hoare triple {323#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:52:59,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {324#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {325#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:52:59,828 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-08 12:52:59,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-08 12:52:59,829 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 12:52:59,829 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:52:59,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757590660] [2022-04-08 12:52:59,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1757590660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:52:59,829 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:52:59,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:52:59,830 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:52:59,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [186688688] [2022-04-08 12:52:59,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [186688688] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:52:59,830 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:52:59,830 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:52:59,830 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1609362405] [2022-04-08 12:52:59,830 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:52:59,831 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:52:59,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:52:59,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:52:59,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:52:59,846 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:52:59,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:52:59,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:52:59,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:52:59,847 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:00,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,140 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-08 12:53:00,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:00,140 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-08 12:53:00,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:00,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:00,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:00,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:00,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:00,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 12:53:00,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:00,197 INFO L225 Difference]: With dead ends: 47 [2022-04-08 12:53:00,197 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 12:53:00,197 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:00,198 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:00,199 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:00,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 12:53:00,204 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-08 12:53:00,204 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:00,204 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,204 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,205 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,207 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-08 12:53:00,207 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-08 12:53:00,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:00,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:00,208 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 12:53:00,208 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 12:53:00,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,210 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-08 12:53:00,210 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-08 12:53:00,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:00,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:00,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:00,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:00,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-08 12:53:00,213 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-08 12:53:00,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:00,213 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-08 12:53:00,213 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 12:53:00,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-08 12:53:00,254 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:00,254 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-08 12:53:00,256 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-08 12:53:00,256 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:00,257 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:00,257 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 12:53:00,260 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:00,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:00,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-08 12:53:00,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:00,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [288096704] [2022-04-08 12:53:00,261 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:00,261 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-08 12:53:00,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:00,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497269381] [2022-04-08 12:53:00,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:00,262 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:00,274 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:00,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [183550923] [2022-04-08 12:53:00,274 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:00,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:00,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:00,276 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:00,276 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 12:53:00,309 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:53:00,309 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:00,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:53:00,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:00,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:00,484 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-08 12:53:00,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {593#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,487 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:00,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {635#(<= |main_#t~post6| 0)} is VALID [2022-04-08 12:53:00,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {594#false} is VALID [2022-04-08 12:53:00,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-08 12:53:00,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 20);havoc #t~post7; {594#false} is VALID [2022-04-08 12:53:00,489 INFO L272 TraceCheckUtils]: 16: Hoare triple {594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {594#false} is VALID [2022-04-08 12:53:00,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-08 12:53:00,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-08 12:53:00,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-08 12:53:00,490 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 12:53:00,490 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:00,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:00,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497269381] [2022-04-08 12:53:00,490 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:00,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [183550923] [2022-04-08 12:53:00,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [183550923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:00,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:00,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 12:53:00,491 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:00,491 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [288096704] [2022-04-08 12:53:00,491 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [288096704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:00,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:00,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 12:53:00,491 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258114266] [2022-04-08 12:53:00,492 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:00,492 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-08 12:53:00,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:00,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:00,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:00,503 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 12:53:00,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:00,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 12:53:00,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 12:53:00,504 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:00,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,583 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-08 12:53:00,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 12:53:00,583 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-08 12:53:00,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:00,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:00,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-08 12:53:00,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:00,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-08 12:53:00,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-08 12:53:00,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:00,635 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:53:00,635 INFO L226 Difference]: Without dead ends: 38 [2022-04-08 12:53:00,636 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-08 12:53:00,641 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:00,646 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:00,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-08 12:53:00,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-08 12:53:00,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:00,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,665 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,665 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,666 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-08 12:53:00,666 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:00,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:00,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:00,667 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-08 12:53:00,667 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-08 12:53:00,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:00,669 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-08 12:53:00,669 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:00,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:00,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:00,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:00,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:00,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:00,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-08 12:53:00,671 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-08 12:53:00,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:00,671 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-08 12:53:00,671 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 12:53:00,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-08 12:53:00,718 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:00,718 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-08 12:53:00,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 12:53:00,718 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:00,718 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:00,735 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 12:53:00,927 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:00,928 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:00,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:00,928 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-08 12:53:00,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:00,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [562062525] [2022-04-08 12:53:00,929 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:00,929 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-08 12:53:00,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:00,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1684809488] [2022-04-08 12:53:00,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:00,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:00,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:01,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:53:01,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:01,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-08 12:53:01,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,030 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-08 12:53:01,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:53:01,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:01,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:01,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:01,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-08 12:53:01,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 12:53:01,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:01,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:01,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:01,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:01,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {912#true} call ULTIMATE.init(); {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:53:01,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-08 12:53:01,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-08 12:53:01,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-08 12:53:01,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {912#true} is VALID [2022-04-08 12:53:01,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {912#true} is VALID [2022-04-08 12:53:01,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:01,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:01,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-08 12:53:01,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:01,045 INFO L290 TraceCheckUtils]: 12: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:01,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:01,046 INFO L272 TraceCheckUtils]: 14: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {912#true} is VALID [2022-04-08 12:53:01,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-08 12:53:01,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-08 12:53:01,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-08 12:53:01,047 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 12:53:01,047 INFO L272 TraceCheckUtils]: 19: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {926#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:53:01,048 INFO L290 TraceCheckUtils]: 20: Hoare triple {926#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {927#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:53:01,048 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-08 12:53:01,048 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-08 12:53:01,049 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 12:53:01,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:01,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1684809488] [2022-04-08 12:53:01,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1684809488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:01,049 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:01,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:01,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:01,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [562062525] [2022-04-08 12:53:01,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [562062525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:01,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:01,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:01,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [382464441] [2022-04-08 12:53:01,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:01,050 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 12:53:01,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:01,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 12:53:01,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:01,068 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:01,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:01,069 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:01,069 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:01,069 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 12:53:01,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:01,440 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-08 12:53:01,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:01,441 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 12:53:01,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:01,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 12:53:01,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:01,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 12:53:01,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-08 12:53:01,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-08 12:53:01,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:01,508 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:53:01,508 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 12:53:01,508 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:01,509 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:01,509 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:53:01,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 12:53:01,527 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-08 12:53:01,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:01,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:01,528 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:01,529 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:01,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:01,532 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 12:53:01,532 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 12:53:01,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:01,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:01,536 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-08 12:53:01,536 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-08 12:53:01,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:01,537 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 12:53:01,537 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 12:53:01,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:01,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:01,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:01,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:01,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 12:53:01,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-08 12:53:01,539 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-08 12:53:01,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:01,540 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-08 12:53:01,540 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 12:53:01,540 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-08 12:53:01,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:01,584 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-08 12:53:01,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 12:53:01,584 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:01,584 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:01,585 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 12:53:01,585 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:01,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:01,585 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-08 12:53:01,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:01,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366750474] [2022-04-08 12:53:01,585 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:01,586 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-08 12:53:01,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:01,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1599581301] [2022-04-08 12:53:01,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:01,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:01,604 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:01,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [676274050] [2022-04-08 12:53:01,604 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:01,604 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:01,604 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:01,605 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:01,608 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 12:53:01,643 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:01,643 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:01,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:01,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:01,652 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:01,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-08 12:53:01,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {1227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {1227#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L272 TraceCheckUtils]: 6: Hoare triple {1227#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:01,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-08 12:53:01,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:01,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:01,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:01,760 INFO L272 TraceCheckUtils]: 14: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:01,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:01,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:01,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:01,761 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:01,761 INFO L272 TraceCheckUtils]: 19: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1227#true} is VALID [2022-04-08 12:53:01,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-08 12:53:01,761 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-08 12:53:01,761 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-08 12:53:01,766 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:01,767 INFO L272 TraceCheckUtils]: 24: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:01,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:01,767 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-08 12:53:01,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-08 12:53:01,767 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 12:53:01,768 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:01,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:01,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1599581301] [2022-04-08 12:53:01,768 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:01,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [676274050] [2022-04-08 12:53:01,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [676274050] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:01,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:01,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:01,768 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:01,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366750474] [2022-04-08 12:53:01,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366750474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:01,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:01,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:01,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [637270350] [2022-04-08 12:53:01,769 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:01,769 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 12:53:01,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:01,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 12:53:01,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:01,784 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:01,784 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:01,784 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:01,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:01,785 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 12:53:01,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:01,965 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-08 12:53:01,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:01,965 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 12:53:01,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:01,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 12:53:01,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-08 12:53:01,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 12:53:01,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-08 12:53:01,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-08 12:53:02,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:02,032 INFO L225 Difference]: With dead ends: 71 [2022-04-08 12:53:02,032 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 12:53:02,033 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:02,033 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:02,033 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:02,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 12:53:02,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-08 12:53:02,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:02,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,050 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,050 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:02,052 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-08 12:53:02,052 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:02,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:02,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:02,053 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-08 12:53:02,053 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-08 12:53:02,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:02,055 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-08 12:53:02,055 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:02,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:02,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:02,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:02,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:02,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-08 12:53:02,057 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-08 12:53:02,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:02,057 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-08 12:53:02,057 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 12:53:02,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-08 12:53:02,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:02,115 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-08 12:53:02,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 12:53:02,115 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:02,115 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:02,157 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 12:53:02,329 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:02,329 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:02,329 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:02,330 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-08 12:53:02,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:02,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [50609137] [2022-04-08 12:53:02,330 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:02,330 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-08 12:53:02,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:02,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [115860251] [2022-04-08 12:53:02,330 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:02,330 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:02,349 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:02,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1513992053] [2022-04-08 12:53:02,349 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:02,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:02,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:02,359 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:02,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 12:53:02,399 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:02,399 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:02,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:02,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:02,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:02,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-08 12:53:02,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {1683#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,551 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {1691#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,551 INFO L272 TraceCheckUtils]: 6: Hoare triple {1691#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,552 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:02,553 INFO L290 TraceCheckUtils]: 12: Hoare triple {1691#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,554 INFO L272 TraceCheckUtils]: 14: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,554 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,555 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,556 INFO L272 TraceCheckUtils]: 19: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,557 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,557 INFO L272 TraceCheckUtils]: 24: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,558 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,559 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:02,559 INFO L290 TraceCheckUtils]: 30: Hoare triple {1725#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1780#(<= |main_#t~post7| 1)} is VALID [2022-04-08 12:53:02,559 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 20);havoc #t~post7; {1684#false} is VALID [2022-04-08 12:53:02,560 INFO L272 TraceCheckUtils]: 32: Hoare triple {1684#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1684#false} is VALID [2022-04-08 12:53:02,560 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-08 12:53:02,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-08 12:53:02,560 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-08 12:53:02,560 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 12:53:02,560 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:02,560 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:02,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [115860251] [2022-04-08 12:53:02,560 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:02,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1513992053] [2022-04-08 12:53:02,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1513992053] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:02,560 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:02,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:02,561 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:02,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [50609137] [2022-04-08 12:53:02,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [50609137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:02,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:02,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:02,561 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283570658] [2022-04-08 12:53:02,561 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:02,561 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 12:53:02,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:02,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:02,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:02,589 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:02,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:02,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:02,589 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:02,589 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:02,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:02,700 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-08 12:53:02,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:02,700 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-08 12:53:02,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:02,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:02,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:53:02,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:02,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:53:02,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:53:02,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:02,746 INFO L225 Difference]: With dead ends: 76 [2022-04-08 12:53:02,746 INFO L226 Difference]: Without dead ends: 69 [2022-04-08 12:53:02,746 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:02,747 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:02,747 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 117 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:02,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-08 12:53:02,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-08 12:53:02,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:02,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,801 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,801 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:02,803 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-08 12:53:02,803 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-08 12:53:02,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:02,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:02,804 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-08 12:53:02,804 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-08 12:53:02,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:02,807 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-08 12:53:02,807 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-08 12:53:02,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:02,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:02,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:02,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:02,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:53:02,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-08 12:53:02,818 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-08 12:53:02,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:02,818 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-08 12:53:02,818 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 12:53:02,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-08 12:53:02,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:02,884 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-08 12:53:02,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 12:53:02,885 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:02,885 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:02,909 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 12:53:03,101 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:03,103 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:03,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:03,103 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-08 12:53:03,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:03,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2102146710] [2022-04-08 12:53:03,104 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:53:03,104 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-08 12:53:03,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:03,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071079229] [2022-04-08 12:53:03,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:03,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:03,118 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:03,118 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1256881408] [2022-04-08 12:53:03,118 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:03,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:03,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:03,119 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:03,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 12:53:03,151 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:03,151 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:03,151 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:03,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:03,158 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:03,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-08 12:53:03,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {2221#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2221#true} is VALID [2022-04-08 12:53:03,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:03,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-08 12:53:03,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-08 12:53:03,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {2221#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2221#true} is VALID [2022-04-08 12:53:03,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {2221#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:03,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:03,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:03,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:03,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-08 12:53:03,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {2221#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,293 INFO L272 TraceCheckUtils]: 14: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:03,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:03,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:03,295 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:03,295 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,297 INFO L272 TraceCheckUtils]: 19: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:03,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:03,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:03,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:03,298 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,298 INFO L272 TraceCheckUtils]: 24: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2221#true} is VALID [2022-04-08 12:53:03,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-08 12:53:03,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-08 12:53:03,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-08 12:53:03,299 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,300 INFO L290 TraceCheckUtils]: 30: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 12:53:03,301 INFO L272 TraceCheckUtils]: 32: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:03,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:03,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-08 12:53:03,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-08 12:53:03,302 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 12:53:03,302 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:53:03,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:03,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071079229] [2022-04-08 12:53:03,302 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:03,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1256881408] [2022-04-08 12:53:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1256881408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:03,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:03,303 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:03,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2102146710] [2022-04-08 12:53:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2102146710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:03,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:03,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325448791] [2022-04-08 12:53:03,303 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:03,304 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-08 12:53:03,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:03,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:03,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:03,322 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:03,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:03,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:03,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:53:03,323 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:03,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:03,505 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-08 12:53:03,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:03,506 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-08 12:53:03,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:03,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:03,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-08 12:53:03,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:03,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-08 12:53:03,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-08 12:53:03,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:03,548 INFO L225 Difference]: With dead ends: 82 [2022-04-08 12:53:03,548 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 12:53:03,549 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:53:03,549 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 11 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:03,549 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:03,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 12:53:03,581 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-08 12:53:03,581 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:03,582 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:03,582 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:03,582 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:03,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:03,584 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-08 12:53:03,584 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-08 12:53:03,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:03,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:03,584 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-08 12:53:03,585 INFO L87 Difference]: Start difference. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-08 12:53:03,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:03,586 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-08 12:53:03,586 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-08 12:53:03,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:03,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:03,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:03,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:03,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:03,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-08 12:53:03,588 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-08 12:53:03,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:03,589 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-08 12:53:03,589 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:03,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-08 12:53:03,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:03,682 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 12:53:03,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:53:03,682 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:03,682 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:03,709 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:03,895 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:03,895 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:03,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:03,896 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-08 12:53:03,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:03,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [46589256] [2022-04-08 12:53:12,532 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:12,532 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:12,532 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-08 12:53:12,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:12,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [762917130] [2022-04-08 12:53:12,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:12,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:12,542 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:12,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1317718396] [2022-04-08 12:53:12,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:12,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:12,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:12,543 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:12,544 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 12:53:12,579 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:12,579 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:12,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:53:12,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:12,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:12,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-08 12:53:12,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {2785#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {2785#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,767 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {2785#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:12,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {2785#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,769 INFO L272 TraceCheckUtils]: 14: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,770 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,770 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,771 INFO L272 TraceCheckUtils]: 19: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,772 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,773 INFO L272 TraceCheckUtils]: 24: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,773 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,774 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,775 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {2819#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2819#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:12,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {2819#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2874#(<= |main_#t~post6| 1)} is VALID [2022-04-08 12:53:12,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {2778#false} is VALID [2022-04-08 12:53:12,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-08 12:53:12,776 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 20);havoc #t~post7; {2778#false} is VALID [2022-04-08 12:53:12,776 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:12,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-08 12:53:12,777 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-08 12:53:12,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:12,976 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-08 12:53:12,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-08 12:53:12,977 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-08 12:53:12,977 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:12,977 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 20);havoc #t~post7; {2778#false} is VALID [2022-04-08 12:53:12,977 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-08 12:53:12,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2778#false} is VALID [2022-04-08 12:53:12,979 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 20)} is VALID [2022-04-08 12:53:12,979 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:12,979 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 20)} #86#return; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:12,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:12,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:13,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:13,007 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:13,009 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 20)} #84#return; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:13,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:13,009 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 20)} #82#return; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:13,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:13,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:13,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 20)} is VALID [2022-04-08 12:53:13,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 19)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 19)} #80#return; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-08 12:53:13,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-08 12:53:13,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-08 12:53:13,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 19)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-08 12:53:13,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 19)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 19)} call #t~ret8 := main(); {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 19)} {2777#true} #96#return; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 19)} assume true; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3003#(< ~counter~0 19)} is VALID [2022-04-08 12:53:13,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-08 12:53:13,014 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 12:53:13,014 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:13,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [762917130] [2022-04-08 12:53:13,014 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:13,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1317718396] [2022-04-08 12:53:13,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1317718396] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:13,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:13,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 12:53:13,014 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:13,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [46589256] [2022-04-08 12:53:13,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [46589256] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:13,014 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:13,015 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:13,015 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477435459] [2022-04-08 12:53:13,015 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:13,015 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-08 12:53:13,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:13,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:13,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:13,039 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:13,039 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:13,040 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:13,040 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 12:53:13,040 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:13,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:13,174 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-08 12:53:13,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:53:13,174 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-08 12:53:13,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:13,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:13,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-08 12:53:13,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:13,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-08 12:53:13,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-08 12:53:13,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:13,225 INFO L225 Difference]: With dead ends: 96 [2022-04-08 12:53:13,225 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 12:53:13,227 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:53:13,227 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:13,228 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:13,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 12:53:13,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 12:53:13,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:13,275 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:13,278 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:13,280 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:13,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:13,282 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-08 12:53:13,282 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:13,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:13,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:13,282 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-08 12:53:13,283 INFO L87 Difference]: Start difference. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-08 12:53:13,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:13,285 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-08 12:53:13,285 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:13,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:13,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:13,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:13,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:13,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:53:13,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-08 12:53:13,288 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-08 12:53:13,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:13,289 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-08 12:53:13,289 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 12:53:13,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-08 12:53:13,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:13,363 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-08 12:53:13,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 12:53:13,364 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:13,364 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:13,379 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:13,577 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:13,577 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:13,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:13,578 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-08 12:53:13,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:13,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2020169175] [2022-04-08 12:53:19,867 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:19,868 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:19,868 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-08 12:53:19,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:19,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [981027882] [2022-04-08 12:53:19,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:19,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:19,886 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:19,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2026251617] [2022-04-08 12:53:19,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:19,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:19,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:19,896 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:19,896 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 12:53:19,960 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:19,961 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:19,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 12:53:19,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:19,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:20,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-08 12:53:20,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:53:20,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:53:20,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:53:20,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} {3520#true} #80#return; {3557#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:53:20,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,665 INFO L272 TraceCheckUtils]: 14: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,665 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,666 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,666 INFO L272 TraceCheckUtils]: 19: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,666 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,667 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,667 INFO L272 TraceCheckUtils]: 24: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,667 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,668 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:53:20,668 INFO L290 TraceCheckUtils]: 29: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,669 INFO L272 TraceCheckUtils]: 32: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,669 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,669 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,669 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,670 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,670 INFO L272 TraceCheckUtils]: 37: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,670 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,670 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,670 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,671 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,672 INFO L272 TraceCheckUtils]: 42: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:20,672 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:20,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-08 12:53:20,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-08 12:53:20,673 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 12:53:20,673 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:20,978 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-08 12:53:20,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-08 12:53:20,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:53:20,980 INFO L272 TraceCheckUtils]: 42: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:53:20,981 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,981 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,981 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,981 INFO L272 TraceCheckUtils]: 37: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,981 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,982 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,982 INFO L272 TraceCheckUtils]: 32: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,982 INFO L290 TraceCheckUtils]: 30: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,984 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,984 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,984 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,984 INFO L272 TraceCheckUtils]: 24: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,985 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,985 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,985 INFO L272 TraceCheckUtils]: 19: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,989 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,990 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,990 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,990 INFO L272 TraceCheckUtils]: 14: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,990 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {3520#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:53:20,991 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-08 12:53:20,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-08 12:53:20,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-08 12:53:20,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-08 12:53:20,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-08 12:53:20,992 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 12:53:20,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:20,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [981027882] [2022-04-08 12:53:20,992 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:20,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2026251617] [2022-04-08 12:53:20,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2026251617] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:53:20,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:53:20,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 12:53:20,993 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:20,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2020169175] [2022-04-08 12:53:20,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2020169175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:20,993 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:20,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:53:20,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1047729873] [2022-04-08 12:53:20,993 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:20,993 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-08 12:53:20,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:20,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:21,016 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:21,016 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:53:21,016 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:21,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:53:21,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:21,017 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:23,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:23,378 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-08 12:53:23,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:53:23,378 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-08 12:53:23,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:23,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:23,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 12:53:23,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:23,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 12:53:23,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-08 12:53:23,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:23,432 INFO L225 Difference]: With dead ends: 84 [2022-04-08 12:53:23,433 INFO L226 Difference]: Without dead ends: 82 [2022-04-08 12:53:23,433 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:53:23,433 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:23,433 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:23,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-08 12:53:23,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-08 12:53:23,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:23,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:23,477 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:23,477 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:23,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:23,484 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-08 12:53:23,484 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-08 12:53:23,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:23,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:23,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-08 12:53:23,485 INFO L87 Difference]: Start difference. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-08 12:53:23,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:23,487 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-08 12:53:23,487 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-08 12:53:23,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:23,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:23,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:23,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:23,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:53:23,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-08 12:53:23,489 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-08 12:53:23,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:23,489 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-08 12:53:23,489 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 12:53:23,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-08 12:53:23,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:23,593 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-08 12:53:23,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-08 12:53:23,593 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:23,593 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:23,614 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 12:53:23,803 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:23,803 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:23,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:23,803 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-08 12:53:23,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:23,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [386074002] [2022-04-08 12:53:30,880 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:30,881 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:30,881 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-08 12:53:30,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:30,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1062656594] [2022-04-08 12:53:30,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:30,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:30,891 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:30,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [408485579] [2022-04-08 12:53:30,892 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:30,892 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:30,892 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:30,907 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:30,927 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 12:53:30,950 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:30,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:30,951 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:53:30,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:30,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:31,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-08 12:53:31,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,197 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {4305#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,198 INFO L272 TraceCheckUtils]: 6: Hoare triple {4305#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:31,200 INFO L290 TraceCheckUtils]: 12: Hoare triple {4305#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,201 INFO L272 TraceCheckUtils]: 14: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,201 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,202 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,202 INFO L272 TraceCheckUtils]: 19: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,203 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,203 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,203 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,204 INFO L272 TraceCheckUtils]: 24: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,205 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,205 INFO L290 TraceCheckUtils]: 29: Hoare triple {4339#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4339#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:31,206 INFO L290 TraceCheckUtils]: 30: Hoare triple {4339#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,207 INFO L272 TraceCheckUtils]: 32: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,207 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,208 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,208 INFO L272 TraceCheckUtils]: 37: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,208 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,209 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,210 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,210 INFO L272 TraceCheckUtils]: 42: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,211 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,211 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,211 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,212 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:31,212 INFO L290 TraceCheckUtils]: 48: Hoare triple {4394#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4449#(<= |main_#t~post7| 2)} is VALID [2022-04-08 12:53:31,212 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 20);havoc #t~post7; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-08 12:53:31,213 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 12:53:31,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:31,434 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-08 12:53:31,435 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-08 12:53:31,435 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-08 12:53:31,435 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-08 12:53:31,435 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-08 12:53:31,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,435 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,435 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,443 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {4298#false} is VALID [2022-04-08 12:53:31,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 20)} is VALID [2022-04-08 12:53:31,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 20)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,445 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 20)} #86#return; {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,445 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,445 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,446 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 20)} #84#return; {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,446 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,446 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,446 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,446 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,446 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 20)} #82#return; {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,446 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,447 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,447 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,447 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 20)} is VALID [2022-04-08 12:53:31,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,449 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 19)} #86#return; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,475 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,478 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 19)} #84#return; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,478 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,478 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 19)} #82#return; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {4621#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 19)} is VALID [2022-04-08 12:53:31,480 INFO L290 TraceCheckUtils]: 11: Hoare triple {4621#(< ~counter~0 18)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4621#(< ~counter~0 18)} #80#return; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-08 12:53:31,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-08 12:53:31,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-08 12:53:31,481 INFO L272 TraceCheckUtils]: 6: Hoare triple {4621#(< ~counter~0 18)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-08 12:53:31,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {4621#(< ~counter~0 18)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {4621#(< ~counter~0 18)} call #t~ret8 := main(); {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4621#(< ~counter~0 18)} {4297#true} #96#return; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {4621#(< ~counter~0 18)} assume true; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4621#(< ~counter~0 18)} is VALID [2022-04-08 12:53:31,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-08 12:53:31,483 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 12:53:31,483 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:31,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1062656594] [2022-04-08 12:53:31,483 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:31,483 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [408485579] [2022-04-08 12:53:31,483 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [408485579] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:31,483 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:31,483 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 12:53:31,484 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:31,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [386074002] [2022-04-08 12:53:31,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [386074002] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:31,484 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:31,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:31,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1109669954] [2022-04-08 12:53:31,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:31,484 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-08 12:53:31,484 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:31,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:31,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:31,516 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:31,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:31,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:31,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:31,517 INFO L87 Difference]: Start difference. First operand 79 states and 94 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:31,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,700 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-08 12:53:31,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:53:31,700 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-08 12:53:31,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:31,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:31,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-08 12:53:31,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:31,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-08 12:53:31,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-08 12:53:31,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:31,758 INFO L225 Difference]: With dead ends: 110 [2022-04-08 12:53:31,758 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 12:53:31,759 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:31,759 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 14 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:31,760 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 129 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:31,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 12:53:31,818 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-08 12:53:31,818 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:31,819 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:31,819 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:31,819 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:31,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,821 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-08 12:53:31,821 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-08 12:53:31,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:31,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:31,822 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-08 12:53:31,822 INFO L87 Difference]: Start difference. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-08 12:53:31,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:31,824 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-08 12:53:31,824 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-08 12:53:31,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:31,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:31,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:31,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:31,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:31,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-08 12:53:31,827 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-08 12:53:31,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:31,828 INFO L478 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-08 12:53:31,828 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:31,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-08 12:53:31,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:31,930 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-08 12:53:31,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 12:53:31,930 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:31,930 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:31,948 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:32,130 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:32,131 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:32,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:32,131 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-08 12:53:32,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:32,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1111918276] [2022-04-08 12:53:38,838 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:38,838 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:38,838 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-08 12:53:38,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:38,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [845343852] [2022-04-08 12:53:38,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:38,839 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:38,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:38,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1453281248] [2022-04-08 12:53:38,849 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:53:38,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:38,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:38,871 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:38,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 12:53:38,910 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:53:38,910 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:38,911 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:53:38,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:38,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:39,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-08 12:53:39,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5278#(<= ~counter~0 0)} {5270#true} #96#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {5278#(<= ~counter~0 0)} call #t~ret8 := main(); {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {5278#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,152 INFO L272 TraceCheckUtils]: 6: Hoare triple {5278#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {5278#(<= ~counter~0 0)} ~cond := #in~cond; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {5278#(<= ~counter~0 0)} assume !(0 == ~cond); {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {5278#(<= ~counter~0 0)} assume true; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5278#(<= ~counter~0 0)} {5278#(<= ~counter~0 0)} #80#return; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {5278#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5278#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:39,154 INFO L290 TraceCheckUtils]: 12: Hoare triple {5278#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {5312#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,155 INFO L272 TraceCheckUtils]: 14: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,157 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #82#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,157 INFO L272 TraceCheckUtils]: 19: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,158 INFO L290 TraceCheckUtils]: 21: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,158 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #84#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,159 INFO L272 TraceCheckUtils]: 24: Hoare triple {5312#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,159 INFO L290 TraceCheckUtils]: 25: Hoare triple {5312#(<= ~counter~0 1)} ~cond := #in~cond; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {5312#(<= ~counter~0 1)} assume !(0 == ~cond); {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {5312#(<= ~counter~0 1)} assume true; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,160 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5312#(<= ~counter~0 1)} {5312#(<= ~counter~0 1)} #86#return; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {5312#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5312#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:39,161 INFO L290 TraceCheckUtils]: 30: Hoare triple {5312#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,161 INFO L290 TraceCheckUtils]: 31: Hoare triple {5367#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,162 INFO L272 TraceCheckUtils]: 32: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,162 INFO L290 TraceCheckUtils]: 33: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,162 INFO L290 TraceCheckUtils]: 34: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,162 INFO L290 TraceCheckUtils]: 35: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,163 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #82#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,163 INFO L272 TraceCheckUtils]: 37: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,164 INFO L290 TraceCheckUtils]: 39: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,165 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #84#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,165 INFO L272 TraceCheckUtils]: 42: Hoare triple {5367#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,165 INFO L290 TraceCheckUtils]: 43: Hoare triple {5367#(<= ~counter~0 2)} ~cond := #in~cond; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,166 INFO L290 TraceCheckUtils]: 44: Hoare triple {5367#(<= ~counter~0 2)} assume !(0 == ~cond); {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,166 INFO L290 TraceCheckUtils]: 45: Hoare triple {5367#(<= ~counter~0 2)} assume true; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,166 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5367#(<= ~counter~0 2)} {5367#(<= ~counter~0 2)} #86#return; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,167 INFO L290 TraceCheckUtils]: 47: Hoare triple {5367#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5367#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:39,167 INFO L290 TraceCheckUtils]: 48: Hoare triple {5367#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5422#(<= |main_#t~post6| 2)} is VALID [2022-04-08 12:53:39,167 INFO L290 TraceCheckUtils]: 49: Hoare triple {5422#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {5271#false} is VALID [2022-04-08 12:53:39,167 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-08 12:53:39,167 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 20);havoc #t~post7; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 53: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 54: Hoare triple {5271#false} assume !(0 == ~cond); {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 55: Hoare triple {5271#false} assume true; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5271#false} {5271#false} #92#return; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-08 12:53:39,168 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 12:53:39,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:39,404 INFO L290 TraceCheckUtils]: 60: Hoare triple {5271#false} assume !false; {5271#false} is VALID [2022-04-08 12:53:39,404 INFO L290 TraceCheckUtils]: 59: Hoare triple {5271#false} assume 0 == ~cond; {5271#false} is VALID [2022-04-08 12:53:39,404 INFO L290 TraceCheckUtils]: 58: Hoare triple {5271#false} ~cond := #in~cond; {5271#false} is VALID [2022-04-08 12:53:39,405 INFO L272 TraceCheckUtils]: 57: Hoare triple {5271#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5271#false} is VALID [2022-04-08 12:53:39,405 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#true} {5271#false} #92#return; {5271#false} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,405 INFO L272 TraceCheckUtils]: 52: Hoare triple {5271#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 51: Hoare triple {5271#false} assume !(#t~post7 < 20);havoc #t~post7; {5271#false} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 50: Hoare triple {5271#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5271#false} is VALID [2022-04-08 12:53:39,405 INFO L290 TraceCheckUtils]: 49: Hoare triple {5492#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {5271#false} is VALID [2022-04-08 12:53:39,406 INFO L290 TraceCheckUtils]: 48: Hoare triple {5496#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5492#(< |main_#t~post6| 20)} is VALID [2022-04-08 12:53:39,406 INFO L290 TraceCheckUtils]: 47: Hoare triple {5496#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,407 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5270#true} {5496#(< ~counter~0 20)} #86#return; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 45: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 43: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L272 TraceCheckUtils]: 42: Hoare triple {5496#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5270#true} {5496#(< ~counter~0 20)} #84#return; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L272 TraceCheckUtils]: 37: Hoare triple {5496#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5270#true} {5496#(< ~counter~0 20)} #82#return; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L290 TraceCheckUtils]: 34: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L290 TraceCheckUtils]: 33: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L272 TraceCheckUtils]: 32: Hoare triple {5496#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,408 INFO L290 TraceCheckUtils]: 31: Hoare triple {5496#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,409 INFO L290 TraceCheckUtils]: 30: Hoare triple {5551#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5496#(< ~counter~0 20)} is VALID [2022-04-08 12:53:39,409 INFO L290 TraceCheckUtils]: 29: Hoare triple {5551#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,410 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5270#true} {5551#(< ~counter~0 19)} #86#return; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,410 INFO L290 TraceCheckUtils]: 27: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,410 INFO L290 TraceCheckUtils]: 26: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,410 INFO L290 TraceCheckUtils]: 25: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,410 INFO L272 TraceCheckUtils]: 24: Hoare triple {5551#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,410 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5270#true} {5551#(< ~counter~0 19)} #84#return; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,410 INFO L290 TraceCheckUtils]: 21: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L272 TraceCheckUtils]: 19: Hoare triple {5551#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5270#true} {5551#(< ~counter~0 19)} #82#return; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,411 INFO L290 TraceCheckUtils]: 17: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L290 TraceCheckUtils]: 16: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L290 TraceCheckUtils]: 15: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L272 TraceCheckUtils]: 14: Hoare triple {5551#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,411 INFO L290 TraceCheckUtils]: 13: Hoare triple {5551#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {5606#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5551#(< ~counter~0 19)} is VALID [2022-04-08 12:53:39,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {5606#(< ~counter~0 18)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,413 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5270#true} {5606#(< ~counter~0 18)} #80#return; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {5270#true} assume true; {5270#true} is VALID [2022-04-08 12:53:39,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {5270#true} assume !(0 == ~cond); {5270#true} is VALID [2022-04-08 12:53:39,413 INFO L290 TraceCheckUtils]: 7: Hoare triple {5270#true} ~cond := #in~cond; {5270#true} is VALID [2022-04-08 12:53:39,413 INFO L272 TraceCheckUtils]: 6: Hoare triple {5606#(< ~counter~0 18)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5270#true} is VALID [2022-04-08 12:53:39,413 INFO L290 TraceCheckUtils]: 5: Hoare triple {5606#(< ~counter~0 18)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {5606#(< ~counter~0 18)} call #t~ret8 := main(); {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5606#(< ~counter~0 18)} {5270#true} #96#return; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {5606#(< ~counter~0 18)} assume true; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {5270#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5606#(< ~counter~0 18)} is VALID [2022-04-08 12:53:39,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {5270#true} call ULTIMATE.init(); {5270#true} is VALID [2022-04-08 12:53:39,415 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 12:53:39,415 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:39,415 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [845343852] [2022-04-08 12:53:39,415 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:39,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1453281248] [2022-04-08 12:53:39,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1453281248] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:39,427 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:39,427 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 12:53:39,427 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:39,427 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1111918276] [2022-04-08 12:53:39,427 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1111918276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:39,427 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:39,428 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:53:39,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [526365557] [2022-04-08 12:53:39,428 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:39,428 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-08 12:53:39,428 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:39,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:39,470 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:39,471 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:53:39,471 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:39,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:53:39,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:53:39,471 INFO L87 Difference]: Start difference. First operand 97 states and 113 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:39,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:39,671 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-08 12:53:39,672 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:39,672 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-08 12:53:39,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:39,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:39,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 12:53:39,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:39,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 12:53:39,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-08 12:53:39,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:39,740 INFO L225 Difference]: With dead ends: 132 [2022-04-08 12:53:39,740 INFO L226 Difference]: Without dead ends: 99 [2022-04-08 12:53:39,740 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:53:39,741 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:39,741 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 146 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:53:39,741 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-08 12:53:39,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-08 12:53:39,803 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:39,803 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:39,804 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:39,804 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:39,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:39,808 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 12:53:39,808 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:39,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:39,808 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:39,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-08 12:53:39,808 INFO L87 Difference]: Start difference. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-08 12:53:39,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:39,812 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-08 12:53:39,812 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:39,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:39,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:39,813 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:39,813 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:39,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-08 12:53:39,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-08 12:53:39,825 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-08 12:53:39,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:39,825 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-08 12:53:39,825 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-08 12:53:39,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-08 12:53:39,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:39,944 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-08 12:53:39,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 12:53:39,945 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:39,945 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:39,977 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:40,145 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 12:53:40,145 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:40,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:40,146 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-08 12:53:40,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:40,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [614937866] [2022-04-08 12:53:49,022 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:49,022 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:49,022 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-08 12:53:49,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:49,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [44703252] [2022-04-08 12:53:49,022 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:49,022 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:49,041 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:49,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2075586690] [2022-04-08 12:53:49,041 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:49,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:49,041 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:49,042 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:49,043 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 12:53:49,082 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:49,082 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:49,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:53:49,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:49,095 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:53:49,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-08 12:53:49,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,338 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6317#(<= ~counter~0 0)} {6309#true} #96#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,338 INFO L272 TraceCheckUtils]: 4: Hoare triple {6317#(<= ~counter~0 0)} call #t~ret8 := main(); {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {6317#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,339 INFO L272 TraceCheckUtils]: 6: Hoare triple {6317#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {6317#(<= ~counter~0 0)} ~cond := #in~cond; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {6317#(<= ~counter~0 0)} assume !(0 == ~cond); {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {6317#(<= ~counter~0 0)} assume true; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6317#(<= ~counter~0 0)} {6317#(<= ~counter~0 0)} #80#return; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {6317#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6317#(<= ~counter~0 0)} is VALID [2022-04-08 12:53:49,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {6317#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {6351#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,341 INFO L272 TraceCheckUtils]: 14: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,342 INFO L290 TraceCheckUtils]: 16: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,342 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #82#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,343 INFO L272 TraceCheckUtils]: 19: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,344 INFO L290 TraceCheckUtils]: 21: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,344 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #84#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,345 INFO L272 TraceCheckUtils]: 24: Hoare triple {6351#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {6351#(<= ~counter~0 1)} ~cond := #in~cond; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {6351#(<= ~counter~0 1)} assume !(0 == ~cond); {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {6351#(<= ~counter~0 1)} assume true; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,352 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6351#(<= ~counter~0 1)} {6351#(<= ~counter~0 1)} #86#return; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {6351#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6351#(<= ~counter~0 1)} is VALID [2022-04-08 12:53:49,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {6351#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {6406#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,354 INFO L272 TraceCheckUtils]: 32: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,354 INFO L290 TraceCheckUtils]: 34: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,355 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #82#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,355 INFO L272 TraceCheckUtils]: 37: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,356 INFO L290 TraceCheckUtils]: 38: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,356 INFO L290 TraceCheckUtils]: 39: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,356 INFO L290 TraceCheckUtils]: 40: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,357 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #84#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,357 INFO L272 TraceCheckUtils]: 42: Hoare triple {6406#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,357 INFO L290 TraceCheckUtils]: 43: Hoare triple {6406#(<= ~counter~0 2)} ~cond := #in~cond; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,358 INFO L290 TraceCheckUtils]: 44: Hoare triple {6406#(<= ~counter~0 2)} assume !(0 == ~cond); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,358 INFO L290 TraceCheckUtils]: 45: Hoare triple {6406#(<= ~counter~0 2)} assume true; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,358 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6406#(<= ~counter~0 2)} {6406#(<= ~counter~0 2)} #86#return; {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,359 INFO L290 TraceCheckUtils]: 47: Hoare triple {6406#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6406#(<= ~counter~0 2)} is VALID [2022-04-08 12:53:49,359 INFO L290 TraceCheckUtils]: 48: Hoare triple {6406#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,359 INFO L290 TraceCheckUtils]: 49: Hoare triple {6461#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,360 INFO L272 TraceCheckUtils]: 50: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,360 INFO L290 TraceCheckUtils]: 51: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,360 INFO L290 TraceCheckUtils]: 52: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,361 INFO L290 TraceCheckUtils]: 53: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,361 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #88#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,362 INFO L272 TraceCheckUtils]: 55: Hoare triple {6461#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,362 INFO L290 TraceCheckUtils]: 56: Hoare triple {6461#(<= ~counter~0 3)} ~cond := #in~cond; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,362 INFO L290 TraceCheckUtils]: 57: Hoare triple {6461#(<= ~counter~0 3)} assume !(0 == ~cond); {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,362 INFO L290 TraceCheckUtils]: 58: Hoare triple {6461#(<= ~counter~0 3)} assume true; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,363 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6461#(<= ~counter~0 3)} {6461#(<= ~counter~0 3)} #90#return; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,363 INFO L290 TraceCheckUtils]: 60: Hoare triple {6461#(<= ~counter~0 3)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,363 INFO L290 TraceCheckUtils]: 61: Hoare triple {6461#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6461#(<= ~counter~0 3)} is VALID [2022-04-08 12:53:49,364 INFO L290 TraceCheckUtils]: 62: Hoare triple {6461#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6504#(<= |main_#t~post7| 3)} is VALID [2022-04-08 12:53:49,364 INFO L290 TraceCheckUtils]: 63: Hoare triple {6504#(<= |main_#t~post7| 3)} assume !(#t~post7 < 20);havoc #t~post7; {6310#false} is VALID [2022-04-08 12:53:49,364 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-08 12:53:49,364 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-08 12:53:49,364 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-08 12:53:49,364 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-08 12:53:49,365 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 12:53:49,365 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:53:49,642 INFO L290 TraceCheckUtils]: 67: Hoare triple {6310#false} assume !false; {6310#false} is VALID [2022-04-08 12:53:49,642 INFO L290 TraceCheckUtils]: 66: Hoare triple {6310#false} assume 0 == ~cond; {6310#false} is VALID [2022-04-08 12:53:49,642 INFO L290 TraceCheckUtils]: 65: Hoare triple {6310#false} ~cond := #in~cond; {6310#false} is VALID [2022-04-08 12:53:49,642 INFO L272 TraceCheckUtils]: 64: Hoare triple {6310#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6310#false} is VALID [2022-04-08 12:53:49,642 INFO L290 TraceCheckUtils]: 63: Hoare triple {6532#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {6310#false} is VALID [2022-04-08 12:53:49,643 INFO L290 TraceCheckUtils]: 62: Hoare triple {6536#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6532#(< |main_#t~post7| 20)} is VALID [2022-04-08 12:53:49,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {6536#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,643 INFO L290 TraceCheckUtils]: 60: Hoare triple {6536#(< ~counter~0 20)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,644 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6309#true} {6536#(< ~counter~0 20)} #90#return; {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,644 INFO L290 TraceCheckUtils]: 58: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,644 INFO L290 TraceCheckUtils]: 57: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,644 INFO L290 TraceCheckUtils]: 56: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,644 INFO L272 TraceCheckUtils]: 55: Hoare triple {6536#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,644 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6309#true} {6536#(< ~counter~0 20)} #88#return; {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,645 INFO L290 TraceCheckUtils]: 53: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,645 INFO L290 TraceCheckUtils]: 52: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,645 INFO L290 TraceCheckUtils]: 51: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,645 INFO L272 TraceCheckUtils]: 50: Hoare triple {6536#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {6536#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,645 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6536#(< ~counter~0 20)} is VALID [2022-04-08 12:53:49,646 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#(< ~counter~0 19)} assume !(~r~0 >= ~d~0); {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,646 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6309#true} {6579#(< ~counter~0 19)} #86#return; {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,646 INFO L290 TraceCheckUtils]: 45: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,646 INFO L290 TraceCheckUtils]: 44: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,646 INFO L290 TraceCheckUtils]: 43: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,646 INFO L272 TraceCheckUtils]: 42: Hoare triple {6579#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6309#true} {6579#(< ~counter~0 19)} #84#return; {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,647 INFO L290 TraceCheckUtils]: 40: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L290 TraceCheckUtils]: 39: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L290 TraceCheckUtils]: 38: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L272 TraceCheckUtils]: 37: Hoare triple {6579#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6309#true} {6579#(< ~counter~0 19)} #82#return; {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,648 INFO L290 TraceCheckUtils]: 33: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,648 INFO L272 TraceCheckUtils]: 32: Hoare triple {6579#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,648 INFO L290 TraceCheckUtils]: 30: Hoare triple {6634#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6579#(< ~counter~0 19)} is VALID [2022-04-08 12:53:49,648 INFO L290 TraceCheckUtils]: 29: Hoare triple {6634#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,649 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6309#true} {6634#(< ~counter~0 18)} #86#return; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,649 INFO L290 TraceCheckUtils]: 27: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,649 INFO L272 TraceCheckUtils]: 24: Hoare triple {6634#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6309#true} {6634#(< ~counter~0 18)} #84#return; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 21: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L272 TraceCheckUtils]: 19: Hoare triple {6634#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6309#true} {6634#(< ~counter~0 18)} #82#return; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,650 INFO L272 TraceCheckUtils]: 14: Hoare triple {6634#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {6634#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,651 INFO L290 TraceCheckUtils]: 12: Hoare triple {6689#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6634#(< ~counter~0 18)} is VALID [2022-04-08 12:53:49,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {6689#(< ~counter~0 17)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6309#true} {6689#(< ~counter~0 17)} #80#return; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {6309#true} assume true; {6309#true} is VALID [2022-04-08 12:53:49,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {6309#true} assume !(0 == ~cond); {6309#true} is VALID [2022-04-08 12:53:49,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {6309#true} ~cond := #in~cond; {6309#true} is VALID [2022-04-08 12:53:49,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {6689#(< ~counter~0 17)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6309#true} is VALID [2022-04-08 12:53:49,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {6689#(< ~counter~0 17)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {6689#(< ~counter~0 17)} call #t~ret8 := main(); {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6689#(< ~counter~0 17)} {6309#true} #96#return; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {6689#(< ~counter~0 17)} assume true; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {6309#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6689#(< ~counter~0 17)} is VALID [2022-04-08 12:53:49,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {6309#true} call ULTIMATE.init(); {6309#true} is VALID [2022-04-08 12:53:49,654 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 12:53:49,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:53:49,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [44703252] [2022-04-08 12:53:49,654 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:53:49,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075586690] [2022-04-08 12:53:49,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075586690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:53:49,654 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:53:49,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 12:53:49,654 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:53:49,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [614937866] [2022-04-08 12:53:49,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [614937866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:53:49,654 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:53:49,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:53:49,654 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1499503405] [2022-04-08 12:53:49,654 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:53:49,655 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-08 12:53:49,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:53:49,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:49,688 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:49,688 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:53:49,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:49,689 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:53:49,689 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:53:49,689 INFO L87 Difference]: Start difference. First operand 99 states and 115 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:50,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:50,010 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 12:53:50,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:53:50,010 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-08 12:53:50,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:53:50,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:50,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-08 12:53:50,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:50,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-08 12:53:50,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-08 12:53:50,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:50,088 INFO L225 Difference]: With dead ends: 151 [2022-04-08 12:53:50,088 INFO L226 Difference]: Without dead ends: 136 [2022-04-08 12:53:50,088 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:53:50,089 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 41 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:53:50,089 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 174 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:53:50,089 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-08 12:53:50,188 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-08 12:53:50,188 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:53:50,189 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:50,189 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:50,189 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:50,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:50,192 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-08 12:53:50,192 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-08 12:53:50,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:50,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:50,192 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-08 12:53:50,192 INFO L87 Difference]: Start difference. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-08 12:53:50,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:53:50,194 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-08 12:53:50,195 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-08 12:53:50,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:53:50,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:53:50,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:53:50,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:53:50,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:53:50,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-08 12:53:50,198 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-08 12:53:50,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:53:50,198 INFO L478 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-08 12:53:50,198 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-08 12:53:50,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-08 12:53:50,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:53:50,351 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-08 12:53:50,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 12:53:50,351 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:53:50,351 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:53:50,367 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 12:53:50,552 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:50,552 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:53:50,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:53:50,552 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-08 12:53:50,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:53:50,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1996671747] [2022-04-08 12:53:57,382 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:53:57,382 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:53:57,382 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-08 12:53:57,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:53:57,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106652506] [2022-04-08 12:53:57,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:53:57,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:53:57,403 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:53:57,403 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [455781852] [2022-04-08 12:53:57,403 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:53:57,403 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:53:57,403 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:53:57,404 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:53:57,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 12:53:57,450 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:53:57,450 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:53:57,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 12:53:57,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:53:57,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:54:01,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-08 12:54:01,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,387 INFO L272 TraceCheckUtils]: 14: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,387 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,387 INFO L272 TraceCheckUtils]: 19: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,388 INFO L272 TraceCheckUtils]: 24: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,389 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,390 INFO L290 TraceCheckUtils]: 29: Hoare triple {7608#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,390 INFO L290 TraceCheckUtils]: 30: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,391 INFO L290 TraceCheckUtils]: 31: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,391 INFO L272 TraceCheckUtils]: 32: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,391 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,391 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,391 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,392 INFO L272 TraceCheckUtils]: 37: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,392 INFO L272 TraceCheckUtils]: 42: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,392 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,393 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,393 INFO L290 TraceCheckUtils]: 47: Hoare triple {7663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,394 INFO L290 TraceCheckUtils]: 48: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,394 INFO L290 TraceCheckUtils]: 49: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,394 INFO L272 TraceCheckUtils]: 50: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,394 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,394 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,395 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,395 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,395 INFO L272 TraceCheckUtils]: 55: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:01,395 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:01,395 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:01,395 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:01,396 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #90#return; {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:54:01,397 INFO L290 TraceCheckUtils]: 60: Hoare triple {7718#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7758#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:01,398 INFO L290 TraceCheckUtils]: 61: Hoare triple {7758#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:01,398 INFO L290 TraceCheckUtils]: 62: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:01,399 INFO L290 TraceCheckUtils]: 63: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 12:54:01,400 INFO L272 TraceCheckUtils]: 64: Hoare triple {7762#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:01,400 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:01,400 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-08 12:54:01,400 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-08 12:54:01,401 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 12:54:01,401 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:54:10,035 INFO L290 TraceCheckUtils]: 67: Hoare triple {7571#false} assume !false; {7571#false} is VALID [2022-04-08 12:54:10,036 INFO L290 TraceCheckUtils]: 66: Hoare triple {7776#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7571#false} is VALID [2022-04-08 12:54:10,036 INFO L290 TraceCheckUtils]: 65: Hoare triple {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7776#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:10,037 INFO L272 TraceCheckUtils]: 64: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7772#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:10,037 INFO L290 TraceCheckUtils]: 63: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:10,037 INFO L290 TraceCheckUtils]: 62: Hoare triple {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:10,040 INFO L290 TraceCheckUtils]: 61: Hoare triple {7802#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7792#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:54:10,052 INFO L290 TraceCheckUtils]: 60: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7802#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 12:54:10,053 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7570#true} {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:10,053 INFO L290 TraceCheckUtils]: 58: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,053 INFO L290 TraceCheckUtils]: 57: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,053 INFO L290 TraceCheckUtils]: 56: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,053 INFO L272 TraceCheckUtils]: 55: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,054 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7570#true} {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:10,054 INFO L290 TraceCheckUtils]: 53: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,054 INFO L290 TraceCheckUtils]: 52: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,054 INFO L290 TraceCheckUtils]: 51: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,054 INFO L272 TraceCheckUtils]: 50: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,055 INFO L290 TraceCheckUtils]: 49: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:10,057 INFO L290 TraceCheckUtils]: 48: Hoare triple {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:10,058 INFO L290 TraceCheckUtils]: 47: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7806#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 12:54:10,058 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #86#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,058 INFO L290 TraceCheckUtils]: 45: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,059 INFO L290 TraceCheckUtils]: 44: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,059 INFO L290 TraceCheckUtils]: 43: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,059 INFO L272 TraceCheckUtils]: 42: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,059 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,059 INFO L290 TraceCheckUtils]: 40: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,060 INFO L272 TraceCheckUtils]: 37: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,060 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7570#true} {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,060 INFO L290 TraceCheckUtils]: 35: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,061 INFO L290 TraceCheckUtils]: 34: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,061 INFO L272 TraceCheckUtils]: 32: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,067 INFO L290 TraceCheckUtils]: 29: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7846#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:54:10,068 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,068 INFO L290 TraceCheckUtils]: 26: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,068 INFO L272 TraceCheckUtils]: 24: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,068 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 22: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L272 TraceCheckUtils]: 19: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7570#true} {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,069 INFO L272 TraceCheckUtils]: 14: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {7570#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7901#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:54:10,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7570#true} {7570#true} #80#return; {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {7570#true} assume !(0 == ~cond); {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {7570#true} ~cond := #in~cond; {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {7570#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {7570#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {7570#true} call #t~ret8 := main(); {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7570#true} {7570#true} #96#return; {7570#true} is VALID [2022-04-08 12:54:10,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {7570#true} assume true; {7570#true} is VALID [2022-04-08 12:54:10,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {7570#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7570#true} is VALID [2022-04-08 12:54:10,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {7570#true} call ULTIMATE.init(); {7570#true} is VALID [2022-04-08 12:54:10,073 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 12:54:10,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:54:10,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106652506] [2022-04-08 12:54:10,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:54:10,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [455781852] [2022-04-08 12:54:10,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [455781852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:54:10,074 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:54:10,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 12:54:10,074 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:54:10,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1996671747] [2022-04-08 12:54:10,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1996671747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:54:10,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:54:10,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:54:10,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1573117637] [2022-04-08 12:54:10,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:54:10,074 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-08 12:54:10,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:54:10,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:10,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:10,122 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:54:10,122 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:10,122 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:54:10,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:54:10,123 INFO L87 Difference]: Start difference. First operand 133 states and 154 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:10,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:10,880 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-08 12:54:10,880 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:54:10,881 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-08 12:54:10,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:54:10,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:10,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:54:10,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:10,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-08 12:54:10,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-08 12:54:10,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:10,995 INFO L225 Difference]: With dead ends: 178 [2022-04-08 12:54:10,995 INFO L226 Difference]: Without dead ends: 143 [2022-04-08 12:54:10,996 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:54:10,996 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:54:10,996 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:54:10,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-08 12:54:11,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-08 12:54:11,099 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:54:11,100 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:11,100 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:11,100 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:11,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:11,102 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-08 12:54:11,102 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-08 12:54:11,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:11,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:11,103 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:11,103 INFO L87 Difference]: Start difference. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-08 12:54:11,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:54:11,105 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-08 12:54:11,105 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-08 12:54:11,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:54:11,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:54:11,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:54:11,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:54:11,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 12:54:11,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-08 12:54:11,108 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-08 12:54:11,108 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:54:11,108 INFO L478 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-08 12:54:11,108 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 12:54:11,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-08 12:54:11,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:54:11,265 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-08 12:54:11,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 12:54:11,266 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:54:11,266 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:54:11,282 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 12:54:11,471 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 12:54:11,472 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:54:11,472 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:54:11,472 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-08 12:54:11,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:54:11,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1999169469] [2022-04-08 12:54:18,385 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:54:18,385 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:54:18,386 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-08 12:54:18,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:54:18,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1074820150] [2022-04-08 12:54:18,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:54:18,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:54:18,397 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:54:18,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1473477054] [2022-04-08 12:54:18,397 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:54:18,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:54:18,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:54:18,398 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:54:18,399 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 12:54:18,445 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:54:18,445 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:54:18,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 12:54:18,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:54:18,459 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:54:31,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-08 12:54:31,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,155 INFO L272 TraceCheckUtils]: 14: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,156 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,156 INFO L272 TraceCheckUtils]: 19: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,157 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,157 INFO L272 TraceCheckUtils]: 24: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,158 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,165 INFO L272 TraceCheckUtils]: 32: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,165 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,166 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,166 INFO L272 TraceCheckUtils]: 37: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,166 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,167 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,167 INFO L272 TraceCheckUtils]: 42: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,167 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,167 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,167 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,168 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,169 INFO L290 TraceCheckUtils]: 47: Hoare triple {9010#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,169 INFO L290 TraceCheckUtils]: 48: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,170 INFO L272 TraceCheckUtils]: 50: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,170 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,170 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,170 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,171 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #88#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,171 INFO L272 TraceCheckUtils]: 55: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,171 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:54:31,171 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:54:31,171 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:54:31,172 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #90#return; {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 12:54:31,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {9065#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {9105#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,176 INFO L290 TraceCheckUtils]: 62: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,176 INFO L290 TraceCheckUtils]: 63: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} assume !!(#t~post7 < 20);havoc #t~post7; {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,177 INFO L272 TraceCheckUtils]: 64: Hoare triple {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:54:31,177 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:31,177 INFO L290 TraceCheckUtils]: 66: Hoare triple {9122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:54:31,178 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:54:31,186 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9109#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~A~0 4294967296) 1)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (< (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)) (= main_~p~0 1))} #88#return; {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} is VALID [2022-04-08 12:54:31,187 INFO L272 TraceCheckUtils]: 69: Hoare triple {9133#(and (exists ((aux_div_aux_mod_aux_mod_main_~A~0_26_37_114 Int) (aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 Int) (aux_div_aux_mod_main_~A~0_26_37 Int)) (and (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (< main_~d~0 (+ (mod (+ (* aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967295) 4294967295 (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) 4294967296) 1)) (< (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 4294967297)) (<= (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2)) (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114))) (<= 0 aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160) (< aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (< aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (+ (mod main_~B~0 4294967296) 1)) (< (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 (* 2 aux_div_aux_mod_aux_mod_main_~A~0_26_37_114)) (+ 2 (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))) (<= (+ aux_mod_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 1) (+ (* aux_div_aux_mod_main_~A~0_26_37 4294967296) (* aux_div_aux_mod_aux_mod_aux_mod_main_~A~0_26_37_114_160 2))))) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:54:31,188 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:54:31,188 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-08 12:54:31,188 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-08 12:54:31,189 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 12:54:31,189 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:55:05,018 INFO L290 TraceCheckUtils]: 72: Hoare triple {8918#false} assume !false; {8918#false} is VALID [2022-04-08 12:55:05,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {9141#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8918#false} is VALID [2022-04-08 12:55:05,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9141#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:55:05,020 INFO L272 TraceCheckUtils]: 69: Hoare triple {9157#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9137#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:55:05,020 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #88#return; {9157#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:55:05,021 INFO L290 TraceCheckUtils]: 67: Hoare triple {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:05,021 INFO L290 TraceCheckUtils]: 66: Hoare triple {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:55:05,021 INFO L290 TraceCheckUtils]: 65: Hoare triple {8917#true} ~cond := #in~cond; {9171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:55:05,021 INFO L272 TraceCheckUtils]: 64: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,022 INFO L290 TraceCheckUtils]: 63: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 20);havoc #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:55:05,022 INFO L290 TraceCheckUtils]: 62: Hoare triple {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:55:05,024 INFO L290 TraceCheckUtils]: 61: Hoare triple {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9161#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:55:05,036 INFO L290 TraceCheckUtils]: 60: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9184#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:55:05,037 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8917#true} {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #90#return; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-08 12:55:05,037 INFO L290 TraceCheckUtils]: 58: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,037 INFO L290 TraceCheckUtils]: 57: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,037 INFO L272 TraceCheckUtils]: 55: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,037 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8917#true} {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #88#return; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-08 12:55:05,038 INFO L290 TraceCheckUtils]: 53: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,038 INFO L290 TraceCheckUtils]: 52: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,038 INFO L290 TraceCheckUtils]: 51: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,038 INFO L272 TraceCheckUtils]: 50: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,039 INFO L290 TraceCheckUtils]: 49: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !!(#t~post7 < 20);havoc #t~post7; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-08 12:55:05,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-08 12:55:05,041 INFO L290 TraceCheckUtils]: 47: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {9188#(and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-08 12:55:05,041 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,041 INFO L290 TraceCheckUtils]: 45: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,041 INFO L272 TraceCheckUtils]: 42: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,042 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,042 INFO L272 TraceCheckUtils]: 37: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,043 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8917#true} {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,043 INFO L290 TraceCheckUtils]: 35: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,043 INFO L272 TraceCheckUtils]: 32: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9228#(or (and (or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:55:05,048 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,048 INFO L290 TraceCheckUtils]: 26: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,048 INFO L272 TraceCheckUtils]: 24: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,049 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,049 INFO L272 TraceCheckUtils]: 19: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,050 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8917#true} {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,050 INFO L272 TraceCheckUtils]: 14: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,057 INFO L290 TraceCheckUtils]: 13: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {8917#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9283#(or (< (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:55:05,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8917#true} {8917#true} #80#return; {8917#true} is VALID [2022-04-08 12:55:05,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {8917#true} assume !(0 == ~cond); {8917#true} is VALID [2022-04-08 12:55:05,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {8917#true} ~cond := #in~cond; {8917#true} is VALID [2022-04-08 12:55:05,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {8917#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {8917#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {8917#true} call #t~ret8 := main(); {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8917#true} {8917#true} #96#return; {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {8917#true} assume true; {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {8917#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {8917#true} call ULTIMATE.init(); {8917#true} is VALID [2022-04-08 12:55:05,059 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 41 proven. 11 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 12:55:05,059 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:55:05,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1074820150] [2022-04-08 12:55:05,059 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:55:05,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1473477054] [2022-04-08 12:55:05,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1473477054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:55:05,060 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:55:05,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-08 12:55:05,060 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:55:05,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1999169469] [2022-04-08 12:55:05,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1999169469] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:55:05,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:55:05,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 12:55:05,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1662902031] [2022-04-08 12:55:05,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:55:05,061 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 12:55:05,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:55:05,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:55:05,126 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 12:55:05,127 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 12:55:05,127 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:55:05,127 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 12:55:05,127 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-08 12:55:05,127 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:55:06,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:55:06,869 INFO L93 Difference]: Finished difference Result 149 states and 171 transitions. [2022-04-08 12:55:06,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 12:55:06,870 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 12:55:06,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:55:06,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:55:06,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 12:55:06,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:55:06,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-08 12:55:06,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-08 12:55:07,046 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 12:55:07,048 INFO L225 Difference]: With dead ends: 149 [2022-04-08 12:55:07,048 INFO L226 Difference]: Without dead ends: 147 [2022-04-08 12:55:07,049 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=89, Invalid=373, Unknown=0, NotChecked=0, Total=462 [2022-04-08 12:55:07,049 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 15 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 50 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 12:55:07,049 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 232 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 299 Invalid, 0 Unknown, 50 Unchecked, 0.7s Time] [2022-04-08 12:55:07,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-08 12:55:07,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-08 12:55:07,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:55:07,189 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:55:07,189 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:55:07,190 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:55:07,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:55:07,192 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-08 12:55:07,192 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-08 12:55:07,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:55:07,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:55:07,193 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-08 12:55:07,193 INFO L87 Difference]: Start difference. First operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 147 states. [2022-04-08 12:55:07,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:55:07,195 INFO L93 Difference]: Finished difference Result 147 states and 169 transitions. [2022-04-08 12:55:07,195 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-08 12:55:07,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:55:07,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:55:07,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:55:07,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:55:07,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 96 states have (on average 1.15625) internal successors, (111), 100 states have internal predecessors, (111), 30 states have call successors, (30), 21 states have call predecessors, (30), 20 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:55:07,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 169 transitions. [2022-04-08 12:55:07,200 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 169 transitions. Word has length 73 [2022-04-08 12:55:07,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:55:07,202 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 169 transitions. [2022-04-08 12:55:07,202 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 12:55:07,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 169 transitions. [2022-04-08 12:55:07,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:55:07,484 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 169 transitions. [2022-04-08 12:55:07,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:55:07,485 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:55:07,485 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:55:07,501 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 12:55:07,699 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 12:55:07,699 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:55:07,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:55:07,700 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-08 12:55:07,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:55:07,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [325443898] [2022-04-08 12:55:15,960 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:55:15,960 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:55:15,960 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-08 12:55:15,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:55:15,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902944486] [2022-04-08 12:55:15,960 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:55:15,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:55:15,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:55:15,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1686552551] [2022-04-08 12:55:15,976 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:55:15,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:55:15,976 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:55:15,977 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:55:15,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 12:55:16,066 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:55:16,067 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:55:16,068 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 12:55:16,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:55:16,081 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:55:55,610 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:55:58,738 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:56:22,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-08 12:56:22,005 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,006 INFO L290 TraceCheckUtils]: 12: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,006 INFO L290 TraceCheckUtils]: 13: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,006 INFO L272 TraceCheckUtils]: 14: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,007 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,007 INFO L272 TraceCheckUtils]: 19: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,007 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,007 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,011 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,011 INFO L272 TraceCheckUtils]: 24: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,011 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,011 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,012 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,014 INFO L272 TraceCheckUtils]: 32: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,014 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,015 INFO L272 TraceCheckUtils]: 37: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,015 INFO L272 TraceCheckUtils]: 42: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,015 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,016 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,016 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,017 INFO L290 TraceCheckUtils]: 47: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,017 INFO L290 TraceCheckUtils]: 48: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,017 INFO L290 TraceCheckUtils]: 49: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,017 INFO L272 TraceCheckUtils]: 50: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,018 INFO L272 TraceCheckUtils]: 55: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:56:22,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:56:22,019 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,020 INFO L290 TraceCheckUtils]: 60: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:56:22,021 INFO L290 TraceCheckUtils]: 61: Hoare triple {10303#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:56:22,021 INFO L290 TraceCheckUtils]: 62: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:56:22,022 INFO L290 TraceCheckUtils]: 63: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 20);havoc #t~post7; {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:56:22,022 INFO L272 TraceCheckUtils]: 64: Hoare triple {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,022 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:56:22,023 INFO L290 TraceCheckUtils]: 66: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:56:22,023 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:56:22,024 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10454#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-08 12:56:22,024 INFO L272 TraceCheckUtils]: 69: Hoare triple {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:56:22,024 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:56:22,024 INFO L290 TraceCheckUtils]: 71: Hoare triple {10467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:56:22,025 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:56:24,030 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10478#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #90#return; {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-08 12:56:24,031 INFO L290 TraceCheckUtils]: 74: Hoare triple {10494#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10498#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} is VALID [2022-04-08 12:56:24,035 INFO L272 TraceCheckUtils]: 75: Hoare triple {10498#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:56:24,036 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:56:24,036 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-08 12:56:24,036 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-08 12:56:24,036 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 7 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-08 12:56:24,037 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:57:22,826 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:57:28,851 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:57:44,033 INFO L290 TraceCheckUtils]: 78: Hoare triple {10266#false} assume !false; {10266#false} is VALID [2022-04-08 12:57:44,034 INFO L290 TraceCheckUtils]: 77: Hoare triple {10506#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10266#false} is VALID [2022-04-08 12:57:44,034 INFO L290 TraceCheckUtils]: 76: Hoare triple {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10506#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:57:44,035 INFO L272 TraceCheckUtils]: 75: Hoare triple {10522#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10502#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:57:44,035 INFO L290 TraceCheckUtils]: 74: Hoare triple {10526#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10522#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 12:57:44,036 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #90#return; {10526#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 12:57:44,036 INFO L290 TraceCheckUtils]: 72: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:44,036 INFO L290 TraceCheckUtils]: 71: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:44,037 INFO L290 TraceCheckUtils]: 70: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:57:44,037 INFO L272 TraceCheckUtils]: 69: Hoare triple {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,040 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} {10265#true} #88#return; {10530#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-08 12:57:44,040 INFO L290 TraceCheckUtils]: 67: Hoare triple {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:44,040 INFO L290 TraceCheckUtils]: 66: Hoare triple {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:57:44,040 INFO L290 TraceCheckUtils]: 65: Hoare triple {10265#true} ~cond := #in~cond; {10540#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:57:44,041 INFO L272 TraceCheckUtils]: 64: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 63: Hoare triple {10265#true} assume !!(#t~post7 < 20);havoc #t~post7; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 62: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 61: Hoare triple {10265#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 60: Hoare triple {10265#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10265#true} {10265#true} #90#return; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 58: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 57: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 56: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L272 TraceCheckUtils]: 55: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10265#true} {10265#true} #88#return; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 53: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 52: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 51: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L272 TraceCheckUtils]: 50: Hoare triple {10265#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 49: Hoare triple {10265#true} assume !!(#t~post7 < 20);havoc #t~post7; {10265#true} is VALID [2022-04-08 12:57:44,041 INFO L290 TraceCheckUtils]: 48: Hoare triple {10265#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 47: Hoare triple {10265#true} assume !(~r~0 >= ~d~0); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 45: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 44: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 43: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L272 TraceCheckUtils]: 42: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L272 TraceCheckUtils]: 37: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 33: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L272 TraceCheckUtils]: 32: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {10265#true} assume !!(#t~post6 < 20);havoc #t~post6; {10265#true} is VALID [2022-04-08 12:57:44,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 29: Hoare triple {10265#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10265#true} {10265#true} #86#return; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L272 TraceCheckUtils]: 24: Hoare triple {10265#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10265#true} {10265#true} #84#return; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L272 TraceCheckUtils]: 19: Hoare triple {10265#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10265#true} {10265#true} #82#return; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,043 INFO L272 TraceCheckUtils]: 14: Hoare triple {10265#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {10265#true} assume !!(#t~post6 < 20);havoc #t~post6; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 12: Hoare triple {10265#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {10265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10265#true} {10265#true} #80#return; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {10265#true} assume !(0 == ~cond); {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {10265#true} ~cond := #in~cond; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {10265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {10265#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {10265#true} call #t~ret8 := main(); {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10265#true} {10265#true} #96#return; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {10265#true} assume true; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {10265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {10265#true} call ULTIMATE.init(); {10265#true} is VALID [2022-04-08 12:57:44,044 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-08 12:57:44,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:57:44,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902944486] [2022-04-08 12:57:44,045 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:57:44,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1686552551] [2022-04-08 12:57:44,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1686552551] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:57:44,045 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:57:44,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-08 12:57:44,045 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:57:44,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [325443898] [2022-04-08 12:57:44,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [325443898] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:57:44,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:57:44,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:57:44,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [992858635] [2022-04-08 12:57:44,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:57:44,046 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-08 12:57:44,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:57:44,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:57:46,092 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:46,093 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:57:46,093 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:57:46,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:57:46,093 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:57:46,093 INFO L87 Difference]: Start difference. First operand 147 states and 169 transitions. Second operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:57:49,330 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 12:57:56,183 WARN L232 SmtUtils]: Spent 6.73s on a formula simplification. DAG size of input: 59 DAG size of output: 56 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 12:57:56,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:56,680 INFO L93 Difference]: Finished difference Result 164 states and 192 transitions. [2022-04-08 12:57:56,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:57:56,681 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-08 12:57:56,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:57:56,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:57:56,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 12:57:56,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:57:56,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-08 12:57:56,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-08 12:57:58,766 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:57:58,768 INFO L225 Difference]: With dead ends: 164 [2022-04-08 12:57:58,768 INFO L226 Difference]: Without dead ends: 162 [2022-04-08 12:57:58,768 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 7.5s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:57:58,769 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 17 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 206 mSolverCounterSat, 4 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 206 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 40 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-08 12:57:58,769 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 203 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 206 Invalid, 1 Unknown, 40 Unchecked, 2.6s Time] [2022-04-08 12:57:58,769 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-08 12:57:58,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 158. [2022-04-08 12:57:58,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:57:58,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:58,926 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:58,926 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:58,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:58,929 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-08 12:57:58,929 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-08 12:57:58,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:58,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:58,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-08 12:57:58,930 INFO L87 Difference]: Start difference. First operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 162 states. [2022-04-08 12:57:58,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:57:58,933 INFO L93 Difference]: Finished difference Result 162 states and 190 transitions. [2022-04-08 12:57:58,933 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 190 transitions. [2022-04-08 12:57:58,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:57:58,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:57:58,933 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:57:58,933 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:57:58,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 158 states, 103 states have (on average 1.174757281553398) internal successors, (121), 107 states have internal predecessors, (121), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:57:58,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 185 transitions. [2022-04-08 12:57:58,936 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 185 transitions. Word has length 79 [2022-04-08 12:57:58,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:57:58,936 INFO L478 AbstractCegarLoop]: Abstraction has 158 states and 185 transitions. [2022-04-08 12:57:58,937 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:57:58,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 158 states and 185 transitions. [2022-04-08 12:58:01,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 184 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:01,197 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 185 transitions. [2022-04-08 12:58:01,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 12:58:01,198 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:58:01,198 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:58:01,216 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 12:58:01,398 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 12:58:01,399 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:58:01,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:58:01,399 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-08 12:58:01,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:01,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [567417101] [2022-04-08 12:58:08,470 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:58:08,470 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:58:08,470 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-08 12:58:08,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:58:08,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [274171152] [2022-04-08 12:58:08,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:58:08,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:58:08,478 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:58:08,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [272337299] [2022-04-08 12:58:08,479 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:58:08,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:08,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:58:08,479 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:58:08,480 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 12:58:08,548 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 12:58:08,548 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:58:08,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:58:08,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:58:08,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:58:08,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-08 12:58:08,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11735#(<= ~counter~0 0)} {11727#true} #96#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {11735#(<= ~counter~0 0)} call #t~ret8 := main(); {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {11735#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {11735#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {11735#(<= ~counter~0 0)} ~cond := #in~cond; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {11735#(<= ~counter~0 0)} assume !(0 == ~cond); {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {11735#(<= ~counter~0 0)} assume true; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11735#(<= ~counter~0 0)} {11735#(<= ~counter~0 0)} #80#return; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,857 INFO L290 TraceCheckUtils]: 11: Hoare triple {11735#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11735#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:08,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {11735#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {11769#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,858 INFO L272 TraceCheckUtils]: 14: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,859 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #82#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,860 INFO L272 TraceCheckUtils]: 19: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,861 INFO L290 TraceCheckUtils]: 22: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,861 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #84#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,862 INFO L272 TraceCheckUtils]: 24: Hoare triple {11769#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {11769#(<= ~counter~0 1)} ~cond := #in~cond; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,862 INFO L290 TraceCheckUtils]: 26: Hoare triple {11769#(<= ~counter~0 1)} assume !(0 == ~cond); {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {11769#(<= ~counter~0 1)} assume true; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,863 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11769#(<= ~counter~0 1)} {11769#(<= ~counter~0 1)} #86#return; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {11769#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11769#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:08,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {11769#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {11824#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,864 INFO L272 TraceCheckUtils]: 32: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,866 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #82#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,866 INFO L272 TraceCheckUtils]: 37: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,867 INFO L290 TraceCheckUtils]: 40: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,867 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #84#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,868 INFO L272 TraceCheckUtils]: 42: Hoare triple {11824#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,868 INFO L290 TraceCheckUtils]: 43: Hoare triple {11824#(<= ~counter~0 2)} ~cond := #in~cond; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {11824#(<= ~counter~0 2)} assume !(0 == ~cond); {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,869 INFO L290 TraceCheckUtils]: 45: Hoare triple {11824#(<= ~counter~0 2)} assume true; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,869 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11824#(<= ~counter~0 2)} {11824#(<= ~counter~0 2)} #86#return; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,869 INFO L290 TraceCheckUtils]: 47: Hoare triple {11824#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11824#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:08,870 INFO L290 TraceCheckUtils]: 48: Hoare triple {11824#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,870 INFO L290 TraceCheckUtils]: 49: Hoare triple {11879#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,871 INFO L272 TraceCheckUtils]: 50: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,871 INFO L290 TraceCheckUtils]: 51: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,871 INFO L290 TraceCheckUtils]: 52: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,872 INFO L290 TraceCheckUtils]: 53: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,872 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #82#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,872 INFO L272 TraceCheckUtils]: 55: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,873 INFO L290 TraceCheckUtils]: 56: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,873 INFO L290 TraceCheckUtils]: 57: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,873 INFO L290 TraceCheckUtils]: 58: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,874 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #84#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,874 INFO L272 TraceCheckUtils]: 60: Hoare triple {11879#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,874 INFO L290 TraceCheckUtils]: 61: Hoare triple {11879#(<= ~counter~0 3)} ~cond := #in~cond; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,875 INFO L290 TraceCheckUtils]: 62: Hoare triple {11879#(<= ~counter~0 3)} assume !(0 == ~cond); {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,875 INFO L290 TraceCheckUtils]: 63: Hoare triple {11879#(<= ~counter~0 3)} assume true; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,876 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11879#(<= ~counter~0 3)} {11879#(<= ~counter~0 3)} #86#return; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,876 INFO L290 TraceCheckUtils]: 65: Hoare triple {11879#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11879#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:08,876 INFO L290 TraceCheckUtils]: 66: Hoare triple {11879#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11934#(<= |main_#t~post6| 3)} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 67: Hoare triple {11934#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 20);havoc #t~post7; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 71: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 72: Hoare triple {11728#false} assume !(0 == ~cond); {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 73: Hoare triple {11728#false} assume true; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11728#false} {11728#false} #92#return; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-08 12:58:08,877 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-08 12:58:08,878 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:58:09,193 INFO L290 TraceCheckUtils]: 78: Hoare triple {11728#false} assume !false; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 77: Hoare triple {11728#false} assume 0 == ~cond; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 76: Hoare triple {11728#false} ~cond := #in~cond; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L272 TraceCheckUtils]: 75: Hoare triple {11728#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11727#true} {11728#false} #92#return; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 73: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 72: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 71: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,194 INFO L272 TraceCheckUtils]: 70: Hoare triple {11728#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 69: Hoare triple {11728#false} assume !(#t~post7 < 20);havoc #t~post7; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 68: Hoare triple {11728#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11728#false} is VALID [2022-04-08 12:58:09,194 INFO L290 TraceCheckUtils]: 67: Hoare triple {12004#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {11728#false} is VALID [2022-04-08 12:58:09,195 INFO L290 TraceCheckUtils]: 66: Hoare triple {12008#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12004#(< |main_#t~post6| 20)} is VALID [2022-04-08 12:58:09,195 INFO L290 TraceCheckUtils]: 65: Hoare triple {12008#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,195 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11727#true} {12008#(< ~counter~0 20)} #86#return; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,195 INFO L290 TraceCheckUtils]: 63: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L290 TraceCheckUtils]: 62: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L290 TraceCheckUtils]: 61: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L272 TraceCheckUtils]: 60: Hoare triple {12008#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11727#true} {12008#(< ~counter~0 20)} #84#return; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,196 INFO L290 TraceCheckUtils]: 58: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L290 TraceCheckUtils]: 57: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L290 TraceCheckUtils]: 56: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,196 INFO L272 TraceCheckUtils]: 55: Hoare triple {12008#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,197 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11727#true} {12008#(< ~counter~0 20)} #82#return; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,197 INFO L290 TraceCheckUtils]: 53: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,197 INFO L290 TraceCheckUtils]: 52: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,197 INFO L290 TraceCheckUtils]: 51: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,197 INFO L272 TraceCheckUtils]: 50: Hoare triple {12008#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,197 INFO L290 TraceCheckUtils]: 49: Hoare triple {12008#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {12063#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12008#(< ~counter~0 20)} is VALID [2022-04-08 12:58:09,198 INFO L290 TraceCheckUtils]: 47: Hoare triple {12063#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,199 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11727#true} {12063#(< ~counter~0 19)} #86#return; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 45: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 44: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 43: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L272 TraceCheckUtils]: 42: Hoare triple {12063#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11727#true} {12063#(< ~counter~0 19)} #84#return; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 40: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L290 TraceCheckUtils]: 38: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,199 INFO L272 TraceCheckUtils]: 37: Hoare triple {12063#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,200 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11727#true} {12063#(< ~counter~0 19)} #82#return; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,200 INFO L290 TraceCheckUtils]: 35: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,200 INFO L290 TraceCheckUtils]: 34: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,200 INFO L272 TraceCheckUtils]: 32: Hoare triple {12063#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {12063#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,201 INFO L290 TraceCheckUtils]: 30: Hoare triple {12118#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12063#(< ~counter~0 19)} is VALID [2022-04-08 12:58:09,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {12118#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,201 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11727#true} {12118#(< ~counter~0 18)} #86#return; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 26: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L272 TraceCheckUtils]: 24: Hoare triple {12118#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11727#true} {12118#(< ~counter~0 18)} #84#return; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 21: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,202 INFO L272 TraceCheckUtils]: 19: Hoare triple {12118#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,203 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11727#true} {12118#(< ~counter~0 18)} #82#return; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,203 INFO L290 TraceCheckUtils]: 16: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,203 INFO L290 TraceCheckUtils]: 15: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,203 INFO L272 TraceCheckUtils]: 14: Hoare triple {12118#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,203 INFO L290 TraceCheckUtils]: 13: Hoare triple {12118#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {12173#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12118#(< ~counter~0 18)} is VALID [2022-04-08 12:58:09,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {12173#(< ~counter~0 17)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11727#true} {12173#(< ~counter~0 17)} #80#return; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {11727#true} assume true; {11727#true} is VALID [2022-04-08 12:58:09,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {11727#true} assume !(0 == ~cond); {11727#true} is VALID [2022-04-08 12:58:09,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {11727#true} ~cond := #in~cond; {11727#true} is VALID [2022-04-08 12:58:09,205 INFO L272 TraceCheckUtils]: 6: Hoare triple {12173#(< ~counter~0 17)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11727#true} is VALID [2022-04-08 12:58:09,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {12173#(< ~counter~0 17)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {12173#(< ~counter~0 17)} call #t~ret8 := main(); {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12173#(< ~counter~0 17)} {11727#true} #96#return; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {12173#(< ~counter~0 17)} assume true; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {11727#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12173#(< ~counter~0 17)} is VALID [2022-04-08 12:58:09,206 INFO L272 TraceCheckUtils]: 0: Hoare triple {11727#true} call ULTIMATE.init(); {11727#true} is VALID [2022-04-08 12:58:09,206 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 12:58:09,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:58:09,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [274171152] [2022-04-08 12:58:09,207 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:58:09,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [272337299] [2022-04-08 12:58:09,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [272337299] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:58:09,207 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:58:09,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 12:58:09,207 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:58:09,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [567417101] [2022-04-08 12:58:09,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [567417101] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:58:09,207 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:58:09,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:58:09,207 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1369467260] [2022-04-08 12:58:09,207 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:58:09,208 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-08 12:58:09,208 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:58:09,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:09,254 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:09,255 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:58:09,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:09,255 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:58:09,255 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:58:09,255 INFO L87 Difference]: Start difference. First operand 158 states and 185 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:09,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:09,770 INFO L93 Difference]: Finished difference Result 203 states and 247 transitions. [2022-04-08 12:58:09,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:58:09,770 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-08 12:58:09,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:58:09,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:09,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 12:58:09,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:09,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 12:58:09,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 111 transitions. [2022-04-08 12:58:09,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:09,865 INFO L225 Difference]: With dead ends: 203 [2022-04-08 12:58:09,866 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 12:58:09,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:58:09,866 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 15 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:58:09,867 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 196 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:58:09,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 12:58:10,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 160. [2022-04-08 12:58:10,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:58:10,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:10,041 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:10,041 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:10,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:10,044 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-08 12:58:10,044 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-08 12:58:10,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:10,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:10,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-08 12:58:10,045 INFO L87 Difference]: Start difference. First operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 160 states. [2022-04-08 12:58:10,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:10,047 INFO L93 Difference]: Finished difference Result 160 states and 187 transitions. [2022-04-08 12:58:10,047 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-08 12:58:10,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:10,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:10,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:58:10,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:58:10,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 105 states have (on average 1.1714285714285715) internal successors, (123), 109 states have internal predecessors, (123), 33 states have call successors, (33), 22 states have call predecessors, (33), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:10,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 187 transitions. [2022-04-08 12:58:10,050 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 187 transitions. Word has length 79 [2022-04-08 12:58:10,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:58:10,050 INFO L478 AbstractCegarLoop]: Abstraction has 160 states and 187 transitions. [2022-04-08 12:58:10,051 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:10,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 160 states and 187 transitions. [2022-04-08 12:58:12,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 186 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:12,301 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 187 transitions. [2022-04-08 12:58:12,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-08 12:58:12,302 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:58:12,302 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:58:12,325 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 12:58:12,515 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 12:58:12,516 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:58:12,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:58:12,516 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 3 times [2022-04-08 12:58:12,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:12,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [339356662] [2022-04-08 12:58:21,007 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:58:21,007 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:58:21,008 INFO L85 PathProgramCache]: Analyzing trace with hash 435352067, now seen corresponding path program 4 times [2022-04-08 12:58:21,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:58:21,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1459020024] [2022-04-08 12:58:21,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:58:21,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:58:21,016 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:58:21,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1369385946] [2022-04-08 12:58:21,016 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:58:21,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:21,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:58:21,017 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:58:21,018 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 12:58:21,066 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:58:21,067 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:58:21,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 12:58:21,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:58:21,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:58:21,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-08 12:58:21,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13272#(<= ~counter~0 0)} {13264#true} #96#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {13272#(<= ~counter~0 0)} call #t~ret8 := main(); {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {13272#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {13272#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {13272#(<= ~counter~0 0)} ~cond := #in~cond; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {13272#(<= ~counter~0 0)} assume !(0 == ~cond); {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {13272#(<= ~counter~0 0)} assume true; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13272#(<= ~counter~0 0)} {13272#(<= ~counter~0 0)} #80#return; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {13272#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13272#(<= ~counter~0 0)} is VALID [2022-04-08 12:58:21,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {13272#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {13306#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,380 INFO L272 TraceCheckUtils]: 14: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,380 INFO L290 TraceCheckUtils]: 15: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,381 INFO L290 TraceCheckUtils]: 17: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,381 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #82#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,383 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #84#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,383 INFO L272 TraceCheckUtils]: 24: Hoare triple {13306#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {13306#(<= ~counter~0 1)} ~cond := #in~cond; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {13306#(<= ~counter~0 1)} assume !(0 == ~cond); {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {13306#(<= ~counter~0 1)} assume true; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,384 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13306#(<= ~counter~0 1)} {13306#(<= ~counter~0 1)} #86#return; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {13306#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13306#(<= ~counter~0 1)} is VALID [2022-04-08 12:58:21,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {13306#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {13361#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,385 INFO L272 TraceCheckUtils]: 32: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,386 INFO L290 TraceCheckUtils]: 34: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,386 INFO L290 TraceCheckUtils]: 35: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,387 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #82#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,387 INFO L272 TraceCheckUtils]: 37: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,387 INFO L290 TraceCheckUtils]: 38: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,388 INFO L290 TraceCheckUtils]: 39: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,388 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #84#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,389 INFO L272 TraceCheckUtils]: 42: Hoare triple {13361#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,389 INFO L290 TraceCheckUtils]: 43: Hoare triple {13361#(<= ~counter~0 2)} ~cond := #in~cond; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,389 INFO L290 TraceCheckUtils]: 44: Hoare triple {13361#(<= ~counter~0 2)} assume !(0 == ~cond); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,389 INFO L290 TraceCheckUtils]: 45: Hoare triple {13361#(<= ~counter~0 2)} assume true; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,390 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13361#(<= ~counter~0 2)} {13361#(<= ~counter~0 2)} #86#return; {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,403 INFO L290 TraceCheckUtils]: 47: Hoare triple {13361#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {13361#(<= ~counter~0 2)} is VALID [2022-04-08 12:58:21,404 INFO L290 TraceCheckUtils]: 48: Hoare triple {13361#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {13416#(<= ~counter~0 3)} assume !!(#t~post7 < 20);havoc #t~post7; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,405 INFO L272 TraceCheckUtils]: 50: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,405 INFO L290 TraceCheckUtils]: 51: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,406 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #88#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,406 INFO L272 TraceCheckUtils]: 55: Hoare triple {13416#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,407 INFO L290 TraceCheckUtils]: 56: Hoare triple {13416#(<= ~counter~0 3)} ~cond := #in~cond; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,407 INFO L290 TraceCheckUtils]: 57: Hoare triple {13416#(<= ~counter~0 3)} assume !(0 == ~cond); {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,408 INFO L290 TraceCheckUtils]: 58: Hoare triple {13416#(<= ~counter~0 3)} assume true; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,408 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13416#(<= ~counter~0 3)} {13416#(<= ~counter~0 3)} #90#return; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,408 INFO L290 TraceCheckUtils]: 60: Hoare triple {13416#(<= ~counter~0 3)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,409 INFO L290 TraceCheckUtils]: 61: Hoare triple {13416#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13416#(<= ~counter~0 3)} is VALID [2022-04-08 12:58:21,409 INFO L290 TraceCheckUtils]: 62: Hoare triple {13416#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,409 INFO L290 TraceCheckUtils]: 63: Hoare triple {13459#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,410 INFO L272 TraceCheckUtils]: 64: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,410 INFO L290 TraceCheckUtils]: 65: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,410 INFO L290 TraceCheckUtils]: 66: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,411 INFO L290 TraceCheckUtils]: 67: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,411 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #88#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,411 INFO L272 TraceCheckUtils]: 69: Hoare triple {13459#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,412 INFO L290 TraceCheckUtils]: 70: Hoare triple {13459#(<= ~counter~0 4)} ~cond := #in~cond; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,412 INFO L290 TraceCheckUtils]: 71: Hoare triple {13459#(<= ~counter~0 4)} assume !(0 == ~cond); {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,412 INFO L290 TraceCheckUtils]: 72: Hoare triple {13459#(<= ~counter~0 4)} assume true; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,413 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13459#(<= ~counter~0 4)} {13459#(<= ~counter~0 4)} #90#return; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {13459#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {13459#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13459#(<= ~counter~0 4)} is VALID [2022-04-08 12:58:21,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {13459#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13502#(<= |main_#t~post7| 4)} is VALID [2022-04-08 12:58:21,414 INFO L290 TraceCheckUtils]: 77: Hoare triple {13502#(<= |main_#t~post7| 4)} assume !(#t~post7 < 20);havoc #t~post7; {13265#false} is VALID [2022-04-08 12:58:21,414 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-08 12:58:21,414 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-08 12:58:21,414 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-08 12:58:21,414 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-08 12:58:21,414 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 164 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-04-08 12:58:21,414 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:58:21,762 INFO L290 TraceCheckUtils]: 81: Hoare triple {13265#false} assume !false; {13265#false} is VALID [2022-04-08 12:58:21,762 INFO L290 TraceCheckUtils]: 80: Hoare triple {13265#false} assume 0 == ~cond; {13265#false} is VALID [2022-04-08 12:58:21,762 INFO L290 TraceCheckUtils]: 79: Hoare triple {13265#false} ~cond := #in~cond; {13265#false} is VALID [2022-04-08 12:58:21,762 INFO L272 TraceCheckUtils]: 78: Hoare triple {13265#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13265#false} is VALID [2022-04-08 12:58:21,762 INFO L290 TraceCheckUtils]: 77: Hoare triple {13530#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {13265#false} is VALID [2022-04-08 12:58:21,763 INFO L290 TraceCheckUtils]: 76: Hoare triple {13534#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13530#(< |main_#t~post7| 20)} is VALID [2022-04-08 12:58:21,763 INFO L290 TraceCheckUtils]: 75: Hoare triple {13534#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,763 INFO L290 TraceCheckUtils]: 74: Hoare triple {13534#(< ~counter~0 20)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,764 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {13264#true} {13534#(< ~counter~0 20)} #90#return; {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,764 INFO L290 TraceCheckUtils]: 71: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,764 INFO L290 TraceCheckUtils]: 70: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,764 INFO L272 TraceCheckUtils]: 69: Hoare triple {13534#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,765 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {13264#true} {13534#(< ~counter~0 20)} #88#return; {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,765 INFO L290 TraceCheckUtils]: 65: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,765 INFO L272 TraceCheckUtils]: 64: Hoare triple {13534#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,765 INFO L290 TraceCheckUtils]: 63: Hoare triple {13534#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,766 INFO L290 TraceCheckUtils]: 62: Hoare triple {13577#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13534#(< ~counter~0 20)} is VALID [2022-04-08 12:58:21,766 INFO L290 TraceCheckUtils]: 61: Hoare triple {13577#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {13577#(< ~counter~0 19)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,767 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13264#true} {13577#(< ~counter~0 19)} #90#return; {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 58: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 57: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 56: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L272 TraceCheckUtils]: 55: Hoare triple {13577#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13264#true} {13577#(< ~counter~0 19)} #88#return; {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 53: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 52: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,767 INFO L290 TraceCheckUtils]: 51: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,768 INFO L272 TraceCheckUtils]: 50: Hoare triple {13577#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,768 INFO L290 TraceCheckUtils]: 49: Hoare triple {13577#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,768 INFO L290 TraceCheckUtils]: 48: Hoare triple {13620#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13577#(< ~counter~0 19)} is VALID [2022-04-08 12:58:21,768 INFO L290 TraceCheckUtils]: 47: Hoare triple {13620#(< ~counter~0 18)} assume !(~r~0 >= ~d~0); {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,769 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13264#true} {13620#(< ~counter~0 18)} #86#return; {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,769 INFO L290 TraceCheckUtils]: 45: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,769 INFO L290 TraceCheckUtils]: 44: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,769 INFO L290 TraceCheckUtils]: 43: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,769 INFO L272 TraceCheckUtils]: 42: Hoare triple {13620#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13264#true} {13620#(< ~counter~0 18)} #84#return; {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 40: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 39: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 38: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L272 TraceCheckUtils]: 37: Hoare triple {13620#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13264#true} {13620#(< ~counter~0 18)} #82#return; {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,770 INFO L272 TraceCheckUtils]: 32: Hoare triple {13620#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {13620#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {13675#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13620#(< ~counter~0 18)} is VALID [2022-04-08 12:58:21,771 INFO L290 TraceCheckUtils]: 29: Hoare triple {13675#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,772 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13264#true} {13675#(< ~counter~0 17)} #86#return; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,772 INFO L290 TraceCheckUtils]: 26: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,772 INFO L272 TraceCheckUtils]: 24: Hoare triple {13675#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,772 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13264#true} {13675#(< ~counter~0 17)} #84#return; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L290 TraceCheckUtils]: 21: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L272 TraceCheckUtils]: 19: Hoare triple {13675#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13264#true} {13675#(< ~counter~0 17)} #82#return; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,773 INFO L272 TraceCheckUtils]: 14: Hoare triple {13675#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {13675#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,774 INFO L290 TraceCheckUtils]: 12: Hoare triple {13730#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13675#(< ~counter~0 17)} is VALID [2022-04-08 12:58:21,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {13730#(< ~counter~0 16)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13264#true} {13730#(< ~counter~0 16)} #80#return; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {13264#true} assume true; {13264#true} is VALID [2022-04-08 12:58:21,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {13264#true} assume !(0 == ~cond); {13264#true} is VALID [2022-04-08 12:58:21,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {13264#true} ~cond := #in~cond; {13264#true} is VALID [2022-04-08 12:58:21,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {13730#(< ~counter~0 16)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13264#true} is VALID [2022-04-08 12:58:21,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {13730#(< ~counter~0 16)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {13730#(< ~counter~0 16)} call #t~ret8 := main(); {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13730#(< ~counter~0 16)} {13264#true} #96#return; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {13730#(< ~counter~0 16)} assume true; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {13264#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13730#(< ~counter~0 16)} is VALID [2022-04-08 12:58:21,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {13264#true} call ULTIMATE.init(); {13264#true} is VALID [2022-04-08 12:58:21,777 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 20 proven. 16 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 12:58:21,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:58:21,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1459020024] [2022-04-08 12:58:21,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:58:21,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369385946] [2022-04-08 12:58:21,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369385946] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:58:21,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:58:21,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 12:58:21,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:58:21,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [339356662] [2022-04-08 12:58:21,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [339356662] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:58:21,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:58:21,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:58:21,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763663146] [2022-04-08 12:58:21,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:58:21,778 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-08 12:58:21,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:58:21,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:21,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:21,836 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:58:21,836 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:21,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:58:21,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:58:21,836 INFO L87 Difference]: Start difference. First operand 160 states and 187 transitions. Second operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:22,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:22,547 INFO L93 Difference]: Finished difference Result 226 states and 262 transitions. [2022-04-08 12:58:22,547 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:58:22,547 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 82 [2022-04-08 12:58:22,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:58:22,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:22,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-08 12:58:22,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:22,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 128 transitions. [2022-04-08 12:58:22,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 128 transitions. [2022-04-08 12:58:22,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:22,655 INFO L225 Difference]: With dead ends: 226 [2022-04-08 12:58:22,655 INFO L226 Difference]: Without dead ends: 211 [2022-04-08 12:58:22,655 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 165 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:58:22,655 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 36 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 98 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 119 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 98 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:58:22,656 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 235 Invalid, 119 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 98 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:58:22,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 211 states. [2022-04-08 12:58:22,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 211 to 208. [2022-04-08 12:58:22,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:58:22,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:58:22,880 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:58:22,880 INFO L87 Difference]: Start difference. First operand 211 states. Second operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:58:22,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:22,884 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-08 12:58:22,884 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-08 12:58:22,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:22,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:22,885 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-08 12:58:22,885 INFO L87 Difference]: Start difference. First operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 211 states. [2022-04-08 12:58:22,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:22,889 INFO L93 Difference]: Finished difference Result 211 states and 242 transitions. [2022-04-08 12:58:22,889 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 242 transitions. [2022-04-08 12:58:22,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:22,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:22,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:58:22,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:58:22,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 139 states have (on average 1.158273381294964) internal successors, (161), 144 states have internal predecessors, (161), 41 states have call successors, (41), 29 states have call predecessors, (41), 27 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 12:58:22,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 240 transitions. [2022-04-08 12:58:22,894 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 240 transitions. Word has length 82 [2022-04-08 12:58:22,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:58:22,894 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 240 transitions. [2022-04-08 12:58:22,895 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.75) internal successors, (38), 7 states have internal predecessors, (38), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:58:22,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 240 transitions. [2022-04-08 12:58:25,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 239 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:25,219 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 240 transitions. [2022-04-08 12:58:25,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-08 12:58:25,220 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:58:25,220 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:58:25,236 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-08 12:58:25,420 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:25,421 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:58:25,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:58:25,421 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 5 times [2022-04-08 12:58:25,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:25,421 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [698269852] [2022-04-08 12:58:32,496 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:58:32,496 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:58:32,497 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 6 times [2022-04-08 12:58:32,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:58:32,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735422337] [2022-04-08 12:58:32,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:58:32,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:58:32,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:58:32,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1380544814] [2022-04-08 12:58:32,505 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:58:32,505 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:32,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:58:32,506 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:58:32,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 12:58:32,565 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 12:58:32,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:58:32,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:58:32,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:58:32,577 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:58:32,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,712 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,713 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,713 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,713 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,713 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,714 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,714 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,714 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,714 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,714 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,715 INFO L290 TraceCheckUtils]: 30: Hoare triple {15156#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,715 INFO L290 TraceCheckUtils]: 31: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,715 INFO L272 TraceCheckUtils]: 32: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,715 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,715 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,715 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #82#return; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,716 INFO L272 TraceCheckUtils]: 37: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #84#return; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,716 INFO L272 TraceCheckUtils]: 42: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,716 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,717 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #86#return; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,717 INFO L290 TraceCheckUtils]: 47: Hoare triple {15156#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {15156#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {15156#(= main_~p~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,718 INFO L272 TraceCheckUtils]: 50: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,718 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,718 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,718 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,718 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #88#return; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,718 INFO L272 TraceCheckUtils]: 55: Hoare triple {15156#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,718 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,719 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,719 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,719 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15156#(= main_~p~0 2)} #90#return; {15156#(= main_~p~0 2)} is VALID [2022-04-08 12:58:32,719 INFO L290 TraceCheckUtils]: 60: Hoare triple {15156#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,720 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,720 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,721 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,721 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,721 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 20);havoc #t~post7; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-08 12:58:32,722 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 12:58:32,722 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 81: Hoare triple {15064#false} assume !false; {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 80: Hoare triple {15064#false} assume 0 == ~cond; {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 79: Hoare triple {15064#false} ~cond := #in~cond; {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L272 TraceCheckUtils]: 78: Hoare triple {15064#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 77: Hoare triple {15064#false} assume !!(#t~post7 < 20);havoc #t~post7; {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 76: Hoare triple {15064#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15064#false} is VALID [2022-04-08 12:58:32,956 INFO L290 TraceCheckUtils]: 75: Hoare triple {15064#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15064#false} is VALID [2022-04-08 12:58:32,957 INFO L290 TraceCheckUtils]: 74: Hoare triple {15101#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15064#false} is VALID [2022-04-08 12:58:32,957 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #90#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,957 INFO L290 TraceCheckUtils]: 72: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,957 INFO L290 TraceCheckUtils]: 71: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,957 INFO L290 TraceCheckUtils]: 70: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,957 INFO L272 TraceCheckUtils]: 69: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,958 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #88#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,958 INFO L290 TraceCheckUtils]: 67: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,958 INFO L290 TraceCheckUtils]: 66: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,958 INFO L290 TraceCheckUtils]: 65: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,958 INFO L272 TraceCheckUtils]: 64: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,959 INFO L290 TraceCheckUtils]: 63: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,959 INFO L290 TraceCheckUtils]: 62: Hoare triple {15101#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,959 INFO L290 TraceCheckUtils]: 61: Hoare triple {15101#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,960 INFO L290 TraceCheckUtils]: 60: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,960 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #90#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,961 INFO L290 TraceCheckUtils]: 58: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,961 INFO L290 TraceCheckUtils]: 57: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,961 INFO L290 TraceCheckUtils]: 56: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,961 INFO L272 TraceCheckUtils]: 55: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,961 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #88#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,961 INFO L290 TraceCheckUtils]: 53: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,961 INFO L290 TraceCheckUtils]: 52: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,962 INFO L290 TraceCheckUtils]: 51: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,962 INFO L272 TraceCheckUtils]: 50: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 20);havoc #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,963 INFO L290 TraceCheckUtils]: 47: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,963 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #86#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,963 INFO L290 TraceCheckUtils]: 45: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,963 INFO L290 TraceCheckUtils]: 43: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,963 INFO L272 TraceCheckUtils]: 42: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,964 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #84#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,964 INFO L290 TraceCheckUtils]: 40: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,964 INFO L272 TraceCheckUtils]: 37: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,964 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15063#true} {15376#(= (div main_~p~0 2) 1)} #82#return; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,965 INFO L290 TraceCheckUtils]: 35: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,965 INFO L290 TraceCheckUtils]: 34: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,965 INFO L290 TraceCheckUtils]: 33: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,965 INFO L272 TraceCheckUtils]: 32: Hoare triple {15376#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {15376#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 20);havoc #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {15376#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,966 INFO L290 TraceCheckUtils]: 29: Hoare triple {15101#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15376#(= (div main_~p~0 2) 1)} is VALID [2022-04-08 12:58:32,966 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #86#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,966 INFO L290 TraceCheckUtils]: 27: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,967 INFO L272 TraceCheckUtils]: 24: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #84#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,968 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15063#true} {15101#(= main_~p~0 1)} #82#return; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,968 INFO L272 TraceCheckUtils]: 14: Hoare triple {15101#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {15101#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {15101#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {15063#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15101#(= main_~p~0 1)} is VALID [2022-04-08 12:58:32,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15063#true} {15063#true} #80#return; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {15063#true} assume !(0 == ~cond); {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {15063#true} ~cond := #in~cond; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {15063#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {15063#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {15063#true} call #t~ret8 := main(); {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15063#true} {15063#true} #96#return; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {15063#true} assume true; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {15063#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15063#true} is VALID [2022-04-08 12:58:32,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {15063#true} call ULTIMATE.init(); {15063#true} is VALID [2022-04-08 12:58:32,970 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 12:58:32,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:58:32,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735422337] [2022-04-08 12:58:32,970 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:58:32,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1380544814] [2022-04-08 12:58:32,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1380544814] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:58:32,970 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:58:32,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-08 12:58:32,970 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:58:32,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [698269852] [2022-04-08 12:58:32,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [698269852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:58:32,970 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:58:32,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 12:58:32,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306004617] [2022-04-08 12:58:32,971 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:58:32,971 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-08 12:58:32,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:58:32,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-08 12:58:33,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:33,015 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 12:58:33,016 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:33,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 12:58:33,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:58:33,016 INFO L87 Difference]: Start difference. First operand 208 states and 240 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-08 12:58:33,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:33,372 INFO L93 Difference]: Finished difference Result 225 states and 264 transitions. [2022-04-08 12:58:33,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 12:58:33,373 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 82 [2022-04-08 12:58:33,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:58:33,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-08 12:58:33,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-08 12:58:33,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-08 12:58:33,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-08 12:58:33,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-08 12:58:33,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:33,471 INFO L225 Difference]: With dead ends: 225 [2022-04-08 12:58:33,471 INFO L226 Difference]: Without dead ends: 196 [2022-04-08 12:58:33,472 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:58:33,472 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 1 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:58:33,472 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 132 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:58:33,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2022-04-08 12:58:33,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 193. [2022-04-08 12:58:33,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:58:33,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 12:58:33,702 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 12:58:33,703 INFO L87 Difference]: Start difference. First operand 196 states. Second operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 12:58:33,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:33,706 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-08 12:58:33,706 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-08 12:58:33,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:33,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:33,707 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-08 12:58:33,707 INFO L87 Difference]: Start difference. First operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 196 states. [2022-04-08 12:58:33,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:33,710 INFO L93 Difference]: Finished difference Result 196 states and 224 transitions. [2022-04-08 12:58:33,710 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 224 transitions. [2022-04-08 12:58:33,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:33,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:33,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:58:33,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:58:33,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 127 states have (on average 1.1338582677165354) internal successors, (144), 132 states have internal predecessors, (144), 39 states have call successors, (39), 28 states have call predecessors, (39), 26 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 12:58:33,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 219 transitions. [2022-04-08 12:58:33,715 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 219 transitions. Word has length 82 [2022-04-08 12:58:33,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:58:33,715 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 219 transitions. [2022-04-08 12:58:33,715 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 states have internal predecessors, (29), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-08 12:58:33,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 219 transitions. [2022-04-08 12:58:35,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 219 edges. 218 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:35,996 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 219 transitions. [2022-04-08 12:58:35,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-08 12:58:35,997 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:58:35,997 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:58:36,014 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 12:58:36,197 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 12:58:36,197 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:58:36,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:58:36,198 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-08 12:58:36,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:36,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1046130931] [2022-04-08 12:58:42,352 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:58:42,353 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:58:42,353 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 2 times [2022-04-08 12:58:42,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:58:42,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [193755805] [2022-04-08 12:58:42,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:58:42,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:58:42,362 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:58:42,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [501516417] [2022-04-08 12:58:42,363 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:58:42,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:42,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:58:42,364 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:58:42,364 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 12:58:42,414 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:58:42,414 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:58:42,418 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:58:42,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:58:42,445 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:58:43,593 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-08 12:58:43,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 20);havoc #t~post6; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,596 INFO L272 TraceCheckUtils]: 14: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,596 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,596 INFO L272 TraceCheckUtils]: 19: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,597 INFO L272 TraceCheckUtils]: 24: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,597 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,598 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:43,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,600 INFO L290 TraceCheckUtils]: 31: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,600 INFO L272 TraceCheckUtils]: 32: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,601 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,601 INFO L272 TraceCheckUtils]: 37: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,601 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,601 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,601 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,602 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,602 INFO L272 TraceCheckUtils]: 42: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,602 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,603 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:58:43,605 INFO L290 TraceCheckUtils]: 47: Hoare triple {16880#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:58:43,606 INFO L290 TraceCheckUtils]: 48: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:58:43,606 INFO L290 TraceCheckUtils]: 49: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 20);havoc #t~post7; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:58:43,606 INFO L272 TraceCheckUtils]: 50: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,606 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,606 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,606 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,607 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:58:43,607 INFO L272 TraceCheckUtils]: 55: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,607 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,607 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,607 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,608 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 12:58:43,610 INFO L290 TraceCheckUtils]: 60: Hoare triple {16935#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,610 INFO L290 TraceCheckUtils]: 61: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,610 INFO L290 TraceCheckUtils]: 62: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,611 INFO L290 TraceCheckUtils]: 63: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,611 INFO L272 TraceCheckUtils]: 64: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,611 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,611 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,611 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,612 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,612 INFO L272 TraceCheckUtils]: 69: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,612 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,612 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,612 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,613 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,614 INFO L290 TraceCheckUtils]: 74: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,614 INFO L272 TraceCheckUtils]: 75: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:43,614 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:43,614 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:43,614 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:43,615 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:58:43,615 INFO L272 TraceCheckUtils]: 80: Hoare triple {16975#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:58:43,616 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:58:43,616 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-08 12:58:43,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-08 12:58:43,616 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 12:58:43,617 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:58:44,300 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#false} assume !false; {16788#false} is VALID [2022-04-08 12:58:44,301 INFO L290 TraceCheckUtils]: 82: Hoare triple {17040#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16788#false} is VALID [2022-04-08 12:58:44,301 INFO L290 TraceCheckUtils]: 81: Hoare triple {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17040#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:58:44,302 INFO L272 TraceCheckUtils]: 80: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {17036#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:58:44,302 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,303 INFO L290 TraceCheckUtils]: 78: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,303 INFO L290 TraceCheckUtils]: 77: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,303 INFO L290 TraceCheckUtils]: 76: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,303 INFO L272 TraceCheckUtils]: 75: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,303 INFO L290 TraceCheckUtils]: 74: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,304 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,304 INFO L290 TraceCheckUtils]: 72: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,304 INFO L290 TraceCheckUtils]: 71: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,304 INFO L290 TraceCheckUtils]: 70: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,304 INFO L272 TraceCheckUtils]: 69: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,304 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16787#true} {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,304 INFO L290 TraceCheckUtils]: 67: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,305 INFO L290 TraceCheckUtils]: 66: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,305 INFO L290 TraceCheckUtils]: 65: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,305 INFO L272 TraceCheckUtils]: 64: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,305 INFO L290 TraceCheckUtils]: 63: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,305 INFO L290 TraceCheckUtils]: 62: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,306 INFO L290 TraceCheckUtils]: 61: Hoare triple {16825#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,307 INFO L290 TraceCheckUtils]: 60: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16825#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-08 12:58:44,308 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-08 12:58:44,308 INFO L290 TraceCheckUtils]: 58: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,308 INFO L272 TraceCheckUtils]: 55: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,309 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16787#true} {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-08 12:58:44,309 INFO L290 TraceCheckUtils]: 53: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,309 INFO L290 TraceCheckUtils]: 51: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,309 INFO L272 TraceCheckUtils]: 50: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 20);havoc #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-08 12:58:44,311 INFO L290 TraceCheckUtils]: 48: Hoare triple {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-08 12:58:44,312 INFO L290 TraceCheckUtils]: 47: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {17116#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-08 12:58:44,312 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L290 TraceCheckUtils]: 44: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L290 TraceCheckUtils]: 43: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L272 TraceCheckUtils]: 42: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,313 INFO L290 TraceCheckUtils]: 40: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L290 TraceCheckUtils]: 39: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L290 TraceCheckUtils]: 38: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,313 INFO L272 TraceCheckUtils]: 37: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,314 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16787#true} {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,314 INFO L290 TraceCheckUtils]: 33: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,314 INFO L272 TraceCheckUtils]: 32: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 20);havoc #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,316 INFO L290 TraceCheckUtils]: 30: Hoare triple {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,317 INFO L290 TraceCheckUtils]: 29: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17156#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-08 12:58:44,317 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,318 INFO L290 TraceCheckUtils]: 27: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,318 INFO L290 TraceCheckUtils]: 26: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,318 INFO L272 TraceCheckUtils]: 24: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,318 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L272 TraceCheckUtils]: 19: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16787#true} {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L290 TraceCheckUtils]: 16: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L290 TraceCheckUtils]: 15: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,319 INFO L272 TraceCheckUtils]: 14: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {16787#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17211#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-08 12:58:44,321 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16787#true} {16787#true} #80#return; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 8: Hoare triple {16787#true} assume !(0 == ~cond); {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {16787#true} ~cond := #in~cond; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {16787#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {16787#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {16787#true} call #t~ret8 := main(); {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16787#true} {16787#true} #96#return; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {16787#true} assume true; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {16787#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16787#true} is VALID [2022-04-08 12:58:44,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {16787#true} call ULTIMATE.init(); {16787#true} is VALID [2022-04-08 12:58:44,322 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 12:58:44,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:58:44,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [193755805] [2022-04-08 12:58:44,322 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:58:44,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [501516417] [2022-04-08 12:58:44,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [501516417] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:58:44,322 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:58:44,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-08 12:58:44,323 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:58:44,323 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1046130931] [2022-04-08 12:58:44,323 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1046130931] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:58:44,323 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:58:44,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:58:44,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [298279778] [2022-04-08 12:58:44,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:58:44,323 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 84 [2022-04-08 12:58:44,324 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:58:44,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:58:44,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:44,396 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:58:44,396 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:44,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:58:44,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-08 12:58:44,396 INFO L87 Difference]: Start difference. First operand 193 states and 219 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:58:45,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:45,509 INFO L93 Difference]: Finished difference Result 198 states and 223 transitions. [2022-04-08 12:58:45,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:58:45,509 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 84 [2022-04-08 12:58:45,509 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:58:45,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:58:45,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 12:58:45,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:58:45,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 12:58:45,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 12:58:45,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:45,619 INFO L225 Difference]: With dead ends: 198 [2022-04-08 12:58:45,619 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 12:58:45,619 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:58:45,620 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 8 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 242 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 12:58:45,620 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 242 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 12:58:45,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 12:58:45,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2022-04-08 12:58:45,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:58:45,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:45,796 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:45,796 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:45,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:45,799 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-08 12:58:45,799 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-08 12:58:45,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:45,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:45,800 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 161 states. [2022-04-08 12:58:45,800 INFO L87 Difference]: Start difference. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 161 states. [2022-04-08 12:58:45,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:58:45,803 INFO L93 Difference]: Finished difference Result 161 states and 186 transitions. [2022-04-08 12:58:45,804 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-08 12:58:45,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:58:45,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:58:45,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:58:45,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:58:45,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 12:58:45,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-08 12:58:45,808 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 84 [2022-04-08 12:58:45,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:58:45,808 INFO L478 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-08 12:58:45,808 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:58:45,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-08 12:58:48,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:58:48,100 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-08 12:58:48,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 12:58:48,101 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:58:48,101 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:58:48,118 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 12:58:48,301 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:48,301 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:58:48,302 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:58:48,302 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 7 times [2022-04-08 12:58:48,302 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:58:48,302 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [451774519] [2022-04-08 12:58:56,806 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:58:56,807 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:58:56,807 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 8 times [2022-04-08 12:58:56,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:58:56,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1485765101] [2022-04-08 12:58:56,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:58:56,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:58:56,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:58:56,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1825580379] [2022-04-08 12:58:56,816 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:58:56,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:58:56,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:58:56,817 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:58:56,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 12:58:56,901 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:58:56,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:58:56,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 12:58:56,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:58:56,917 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:59:00,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-08 12:59:00,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18345#true} is VALID [2022-04-08 12:59:00,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-08 12:59:00,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,683 INFO L272 TraceCheckUtils]: 14: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,683 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,683 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,683 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,684 INFO L272 TraceCheckUtils]: 19: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,684 INFO L272 TraceCheckUtils]: 24: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,685 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 12:59:00,686 INFO L290 TraceCheckUtils]: 29: Hoare triple {18383#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,687 INFO L290 TraceCheckUtils]: 30: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,687 INFO L272 TraceCheckUtils]: 32: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,687 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,687 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,687 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,688 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #82#return; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,688 INFO L272 TraceCheckUtils]: 37: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,688 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,688 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,688 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,689 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #84#return; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,689 INFO L272 TraceCheckUtils]: 42: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,689 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,689 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,689 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} #86#return; {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,690 INFO L290 TraceCheckUtils]: 47: Hoare triple {18438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,691 INFO L290 TraceCheckUtils]: 48: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,691 INFO L290 TraceCheckUtils]: 49: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,691 INFO L272 TraceCheckUtils]: 50: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,691 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,691 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,691 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,692 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,692 INFO L272 TraceCheckUtils]: 55: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,692 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,692 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,692 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,693 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,693 INFO L272 TraceCheckUtils]: 60: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,693 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,693 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,693 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,693 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,694 INFO L290 TraceCheckUtils]: 65: Hoare triple {18493#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,694 INFO L290 TraceCheckUtils]: 66: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,695 INFO L290 TraceCheckUtils]: 67: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,695 INFO L272 TraceCheckUtils]: 68: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,695 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,695 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,695 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,696 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,696 INFO L272 TraceCheckUtils]: 73: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:00,696 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:00,696 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:00,696 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:00,696 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:00,698 INFO L290 TraceCheckUtils]: 78: Hoare triple {18548#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} is VALID [2022-04-08 12:59:00,699 INFO L290 TraceCheckUtils]: 79: Hoare triple {18588#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 12:59:00,700 INFO L290 TraceCheckUtils]: 80: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 12:59:00,700 INFO L290 TraceCheckUtils]: 81: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 12:59:00,701 INFO L272 TraceCheckUtils]: 82: Hoare triple {18592#(and (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:59:00,701 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:00,702 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-08 12:59:00,702 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-08 12:59:00,702 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 12:59:00,702 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:59:08,034 INFO L290 TraceCheckUtils]: 85: Hoare triple {18346#false} assume !false; {18346#false} is VALID [2022-04-08 12:59:08,035 INFO L290 TraceCheckUtils]: 84: Hoare triple {18606#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18346#false} is VALID [2022-04-08 12:59:08,035 INFO L290 TraceCheckUtils]: 83: Hoare triple {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18606#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:08,035 INFO L272 TraceCheckUtils]: 82: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18602#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:59:08,036 INFO L290 TraceCheckUtils]: 81: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:59:08,036 INFO L290 TraceCheckUtils]: 80: Hoare triple {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:59:08,038 INFO L290 TraceCheckUtils]: 79: Hoare triple {18632#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18622#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 12:59:08,051 INFO L290 TraceCheckUtils]: 78: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18632#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 12:59:08,052 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18345#true} {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #90#return; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-08 12:59:08,052 INFO L290 TraceCheckUtils]: 76: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,052 INFO L290 TraceCheckUtils]: 75: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,052 INFO L290 TraceCheckUtils]: 74: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,052 INFO L272 TraceCheckUtils]: 73: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,053 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18345#true} {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #88#return; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-08 12:59:08,053 INFO L290 TraceCheckUtils]: 71: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,053 INFO L290 TraceCheckUtils]: 70: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,053 INFO L290 TraceCheckUtils]: 69: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,053 INFO L272 TraceCheckUtils]: 68: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume !!(#t~post7 < 20);havoc #t~post7; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-08 12:59:08,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-08 12:59:08,056 INFO L290 TraceCheckUtils]: 65: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {18636#(and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-08 12:59:08,056 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #86#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 63: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L272 TraceCheckUtils]: 60: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #84#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 58: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 57: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,057 INFO L290 TraceCheckUtils]: 56: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,058 INFO L272 TraceCheckUtils]: 55: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,058 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18345#true} {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #82#return; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,058 INFO L290 TraceCheckUtils]: 53: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,058 INFO L290 TraceCheckUtils]: 52: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,058 INFO L272 TraceCheckUtils]: 50: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,059 INFO L290 TraceCheckUtils]: 49: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,064 INFO L290 TraceCheckUtils]: 47: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18676#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:08,065 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18345#true} {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,065 INFO L290 TraceCheckUtils]: 45: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,065 INFO L290 TraceCheckUtils]: 44: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,065 INFO L290 TraceCheckUtils]: 43: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,065 INFO L272 TraceCheckUtils]: 42: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18345#true} {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 40: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 39: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 38: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L272 TraceCheckUtils]: 37: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18345#true} {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 35: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 34: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,066 INFO L290 TraceCheckUtils]: 33: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,067 INFO L272 TraceCheckUtils]: 32: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,067 INFO L290 TraceCheckUtils]: 30: Hoare triple {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,069 INFO L290 TraceCheckUtils]: 29: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18731#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 12:59:08,069 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 27: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 26: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 25: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L272 TraceCheckUtils]: 24: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 21: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,070 INFO L272 TraceCheckUtils]: 19: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,071 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18345#true} {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,071 INFO L290 TraceCheckUtils]: 17: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,071 INFO L290 TraceCheckUtils]: 16: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,071 INFO L272 TraceCheckUtils]: 14: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 11: Hoare triple {18345#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18786#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 12:59:08,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18345#true} {18345#true} #80#return; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {18345#true} assume !(0 == ~cond); {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {18345#true} ~cond := #in~cond; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {18345#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 5: Hoare triple {18345#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {18345#true} call #t~ret8 := main(); {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18345#true} {18345#true} #96#return; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {18345#true} assume true; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {18345#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18345#true} is VALID [2022-04-08 12:59:08,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {18345#true} call ULTIMATE.init(); {18345#true} is VALID [2022-04-08 12:59:08,075 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 21 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 12:59:08,075 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:59:08,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1485765101] [2022-04-08 12:59:08,075 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:59:08,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1825580379] [2022-04-08 12:59:08,075 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1825580379] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:59:08,075 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:59:08,075 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 12:59:08,075 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:59:08,076 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [451774519] [2022-04-08 12:59:08,076 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [451774519] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:59:08,076 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:59:08,076 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:59:08,076 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345556116] [2022-04-08 12:59:08,076 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:59:08,076 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 86 [2022-04-08 12:59:08,076 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:59:08,076 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:59:08,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:08,153 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:59:08,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:08,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:59:08,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:59:08,153 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:59:09,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:09,830 INFO L93 Difference]: Finished difference Result 220 states and 267 transitions. [2022-04-08 12:59:09,830 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:59:09,831 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 86 [2022-04-08 12:59:09,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:59:09,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:59:09,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-08 12:59:09,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:59:09,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-08 12:59:09,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-08 12:59:09,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:09,981 INFO L225 Difference]: With dead ends: 220 [2022-04-08 12:59:09,981 INFO L226 Difference]: Without dead ends: 175 [2022-04-08 12:59:09,982 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:59:09,982 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 12 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 276 SdHoareTripleChecker+Invalid, 311 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 12:59:09,982 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 276 Invalid, 311 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 12:59:09,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2022-04-08 12:59:10,166 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 172. [2022-04-08 12:59:10,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:59:10,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 12:59:10,167 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 12:59:10,167 INFO L87 Difference]: Start difference. First operand 175 states. Second operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 12:59:10,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:10,169 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-08 12:59:10,169 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-08 12:59:10,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:10,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:10,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-08 12:59:10,170 INFO L87 Difference]: Start difference. First operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 175 states. [2022-04-08 12:59:10,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:10,172 INFO L93 Difference]: Finished difference Result 175 states and 205 transitions. [2022-04-08 12:59:10,172 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 205 transitions. [2022-04-08 12:59:10,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:10,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:10,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:59:10,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:59:10,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 112 states have (on average 1.1607142857142858) internal successors, (130), 116 states have internal predecessors, (130), 36 states have call successors, (36), 24 states have call predecessors, (36), 23 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 12:59:10,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 200 transitions. [2022-04-08 12:59:10,175 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 200 transitions. Word has length 86 [2022-04-08 12:59:10,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:59:10,176 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 200 transitions. [2022-04-08 12:59:10,176 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-08 12:59:10,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 200 transitions. [2022-04-08 12:59:12,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 199 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:12,463 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 200 transitions. [2022-04-08 12:59:12,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 12:59:12,463 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:59:12,463 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:59:12,481 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-08 12:59:12,671 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:12,671 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:59:12,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:59:12,672 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 9 times [2022-04-08 12:59:12,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:12,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [824913459] [2022-04-08 12:59:20,294 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:59:20,295 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:59:20,295 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 10 times [2022-04-08 12:59:20,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:59:20,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1779442804] [2022-04-08 12:59:20,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:59:20,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:59:20,303 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:59:20,303 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [572703260] [2022-04-08 12:59:20,303 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:59:20,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:20,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:59:20,304 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:59:20,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 12:59:20,398 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:59:20,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:59:20,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 12:59:20,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:59:20,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:59:21,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,377 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,378 INFO L272 TraceCheckUtils]: 14: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,379 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,379 INFO L272 TraceCheckUtils]: 19: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,379 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,380 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,380 INFO L272 TraceCheckUtils]: 24: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,380 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,380 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 12:59:21,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {20050#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,382 INFO L272 TraceCheckUtils]: 32: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,382 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,383 INFO L272 TraceCheckUtils]: 37: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,383 INFO L272 TraceCheckUtils]: 42: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,383 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,384 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,384 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,384 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 12:59:21,385 INFO L290 TraceCheckUtils]: 47: Hoare triple {20105#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,386 INFO L272 TraceCheckUtils]: 50: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,386 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,386 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,387 INFO L272 TraceCheckUtils]: 55: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,387 INFO L272 TraceCheckUtils]: 60: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,387 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,388 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,388 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,389 INFO L290 TraceCheckUtils]: 65: Hoare triple {20160#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,389 INFO L290 TraceCheckUtils]: 66: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,389 INFO L290 TraceCheckUtils]: 67: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,389 INFO L272 TraceCheckUtils]: 68: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,389 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,389 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,390 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,390 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #88#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,390 INFO L272 TraceCheckUtils]: 73: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,390 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,390 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,390 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,391 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #90#return; {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 12:59:21,391 INFO L290 TraceCheckUtils]: 78: Hoare triple {20215#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:21,392 INFO L290 TraceCheckUtils]: 79: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:21,392 INFO L290 TraceCheckUtils]: 80: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:21,393 INFO L290 TraceCheckUtils]: 81: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 20);havoc #t~post7; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:21,393 INFO L272 TraceCheckUtils]: 82: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:21,393 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:21,393 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:21,393 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:21,393 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #88#return; {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:21,394 INFO L272 TraceCheckUtils]: 87: Hoare triple {20255#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:59:21,394 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:21,394 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-08 12:59:21,394 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-08 12:59:21,395 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 12:59:21,395 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:59:30,945 INFO L290 TraceCheckUtils]: 90: Hoare triple {20013#false} assume !false; {20013#false} is VALID [2022-04-08 12:59:30,946 INFO L290 TraceCheckUtils]: 89: Hoare triple {20287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20013#false} is VALID [2022-04-08 12:59:30,946 INFO L290 TraceCheckUtils]: 88: Hoare triple {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:59:30,947 INFO L272 TraceCheckUtils]: 87: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:59:30,947 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {20012#true} {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:30,947 INFO L290 TraceCheckUtils]: 85: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,947 INFO L290 TraceCheckUtils]: 84: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,947 INFO L290 TraceCheckUtils]: 83: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,947 INFO L272 TraceCheckUtils]: 82: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,948 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:30,948 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:30,948 INFO L290 TraceCheckUtils]: 79: Hoare triple {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:30,962 INFO L290 TraceCheckUtils]: 78: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20303#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 12:59:30,962 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20012#true} {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #90#return; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 12:59:30,962 INFO L290 TraceCheckUtils]: 76: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,962 INFO L290 TraceCheckUtils]: 75: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,962 INFO L290 TraceCheckUtils]: 74: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,962 INFO L272 TraceCheckUtils]: 73: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,963 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20012#true} {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 12:59:30,963 INFO L290 TraceCheckUtils]: 71: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,963 INFO L290 TraceCheckUtils]: 70: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,963 INFO L290 TraceCheckUtils]: 69: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,963 INFO L272 TraceCheckUtils]: 68: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,964 INFO L290 TraceCheckUtils]: 67: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(#t~post7 < 20);havoc #t~post7; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 12:59:30,966 INFO L290 TraceCheckUtils]: 66: Hoare triple {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 12:59:30,967 INFO L290 TraceCheckUtils]: 65: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {20331#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 12:59:30,967 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #86#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,967 INFO L290 TraceCheckUtils]: 63: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,967 INFO L290 TraceCheckUtils]: 62: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,967 INFO L290 TraceCheckUtils]: 61: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,967 INFO L272 TraceCheckUtils]: 60: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,968 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #84#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,968 INFO L290 TraceCheckUtils]: 58: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,968 INFO L290 TraceCheckUtils]: 57: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,968 INFO L290 TraceCheckUtils]: 56: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,968 INFO L272 TraceCheckUtils]: 55: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,969 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {20012#true} {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #82#return; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,969 INFO L290 TraceCheckUtils]: 53: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,969 INFO L290 TraceCheckUtils]: 52: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,969 INFO L290 TraceCheckUtils]: 51: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,969 INFO L272 TraceCheckUtils]: 50: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,970 INFO L290 TraceCheckUtils]: 49: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,971 INFO L290 TraceCheckUtils]: 48: Hoare triple {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20371#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 12:59:30,975 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,975 INFO L290 TraceCheckUtils]: 45: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,975 INFO L290 TraceCheckUtils]: 44: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,975 INFO L290 TraceCheckUtils]: 43: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,975 INFO L272 TraceCheckUtils]: 42: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,976 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,976 INFO L290 TraceCheckUtils]: 39: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,976 INFO L272 TraceCheckUtils]: 37: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,976 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {20012#true} {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,977 INFO L272 TraceCheckUtils]: 32: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 20);havoc #t~post6; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,979 INFO L290 TraceCheckUtils]: 29: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20426#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 12:59:30,979 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #86#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,979 INFO L290 TraceCheckUtils]: 25: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,980 INFO L272 TraceCheckUtils]: 24: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,980 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #84#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,980 INFO L290 TraceCheckUtils]: 20: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,980 INFO L272 TraceCheckUtils]: 19: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,981 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {20012#true} {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #82#return; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,981 INFO L290 TraceCheckUtils]: 17: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,981 INFO L290 TraceCheckUtils]: 16: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,981 INFO L272 TraceCheckUtils]: 14: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {20012#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20481#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* main_~d~0 2) 0))} is VALID [2022-04-08 12:59:30,982 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20012#true} {20012#true} #80#return; {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {20012#true} assume !(0 == ~cond); {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {20012#true} ~cond := #in~cond; {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {20012#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {20012#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {20012#true} call #t~ret8 := main(); {20012#true} is VALID [2022-04-08 12:59:30,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20012#true} {20012#true} #96#return; {20012#true} is VALID [2022-04-08 12:59:30,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {20012#true} assume true; {20012#true} is VALID [2022-04-08 12:59:30,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {20012#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20012#true} is VALID [2022-04-08 12:59:30,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {20012#true} call ULTIMATE.init(); {20012#true} is VALID [2022-04-08 12:59:30,983 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 12:59:30,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:59:30,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1779442804] [2022-04-08 12:59:30,983 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:59:30,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [572703260] [2022-04-08 12:59:30,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [572703260] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:59:30,983 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:59:30,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 12:59:30,984 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:59:30,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [824913459] [2022-04-08 12:59:30,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [824913459] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:59:30,984 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:59:30,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:59:30,984 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [807327988] [2022-04-08 12:59:30,984 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:59:30,984 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-08 12:59:30,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:59:30,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 12:59:31,046 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 12:59:31,046 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:59:31,046 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:31,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:59:31,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=130, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:59:31,047 INFO L87 Difference]: Start difference. First operand 172 states and 200 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 12:59:32,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:32,590 INFO L93 Difference]: Finished difference Result 212 states and 254 transitions. [2022-04-08 12:59:32,590 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:59:32,591 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-08 12:59:32,591 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:59:32,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 12:59:32,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-08 12:59:32,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 12:59:32,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-08 12:59:32,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-08 12:59:32,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:32,727 INFO L225 Difference]: With dead ends: 212 [2022-04-08 12:59:32,727 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 12:59:32,727 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=74, Invalid=198, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:59:32,728 INFO L913 BasicCegarLoop]: 68 mSDtfsCounter, 14 mSDsluCounter, 282 mSDsCounter, 0 mSdLazyCounter, 286 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 350 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 286 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 12:59:32,728 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 350 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 286 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 12:59:32,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 12:59:32,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 180. [2022-04-08 12:59:32,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:59:32,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:32,911 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:32,911 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:32,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:32,913 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-08 12:59:32,913 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-08 12:59:32,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:32,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:32,914 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-08 12:59:32,914 INFO L87 Difference]: Start difference. First operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-08 12:59:32,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:32,916 INFO L93 Difference]: Finished difference Result 182 states and 210 transitions. [2022-04-08 12:59:32,916 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 210 transitions. [2022-04-08 12:59:32,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:32,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:32,917 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:59:32,917 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:59:32,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 117 states have (on average 1.1452991452991452) internal successors, (134), 123 states have internal predecessors, (134), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:32,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 207 transitions. [2022-04-08 12:59:32,920 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 207 transitions. Word has length 91 [2022-04-08 12:59:32,920 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:59:32,920 INFO L478 AbstractCegarLoop]: Abstraction has 180 states and 207 transitions. [2022-04-08 12:59:32,920 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 12:59:32,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 207 transitions. [2022-04-08 12:59:35,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 206 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:35,205 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 207 transitions. [2022-04-08 12:59:35,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-08 12:59:35,205 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:59:35,205 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:59:35,224 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-08 12:59:35,417 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:35,417 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:59:35,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:59:35,418 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-08 12:59:35,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:35,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2139106712] [2022-04-08 12:59:43,575 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:59:43,576 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:59:43,576 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-08 12:59:43,576 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:59:43,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095559698] [2022-04-08 12:59:43,576 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:59:43,576 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:59:43,584 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:59:43,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [559246950] [2022-04-08 12:59:43,584 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:59:43,584 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:43,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:59:43,585 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:59:43,586 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 12:59:43,640 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:59:43,640 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:59:43,641 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 12:59:43,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:59:43,658 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:59:44,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-08 12:59:44,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21733#(<= ~counter~0 0)} {21725#true} #96#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {21733#(<= ~counter~0 0)} call #t~ret8 := main(); {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {21733#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,015 INFO L272 TraceCheckUtils]: 6: Hoare triple {21733#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {21733#(<= ~counter~0 0)} ~cond := #in~cond; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {21733#(<= ~counter~0 0)} assume !(0 == ~cond); {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {21733#(<= ~counter~0 0)} assume true; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21733#(<= ~counter~0 0)} {21733#(<= ~counter~0 0)} #80#return; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {21733#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21733#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:44,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {21733#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {21767#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,017 INFO L272 TraceCheckUtils]: 14: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,018 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #82#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,019 INFO L272 TraceCheckUtils]: 19: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,020 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #84#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,020 INFO L272 TraceCheckUtils]: 24: Hoare triple {21767#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {21767#(<= ~counter~0 1)} ~cond := #in~cond; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,021 INFO L290 TraceCheckUtils]: 26: Hoare triple {21767#(<= ~counter~0 1)} assume !(0 == ~cond); {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {21767#(<= ~counter~0 1)} assume true; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,022 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21767#(<= ~counter~0 1)} {21767#(<= ~counter~0 1)} #86#return; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {21767#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21767#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:44,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {21767#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {21822#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,023 INFO L272 TraceCheckUtils]: 32: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,024 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #82#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,024 INFO L272 TraceCheckUtils]: 37: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,025 INFO L290 TraceCheckUtils]: 38: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,026 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #84#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,026 INFO L272 TraceCheckUtils]: 42: Hoare triple {21822#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,026 INFO L290 TraceCheckUtils]: 43: Hoare triple {21822#(<= ~counter~0 2)} ~cond := #in~cond; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,026 INFO L290 TraceCheckUtils]: 44: Hoare triple {21822#(<= ~counter~0 2)} assume !(0 == ~cond); {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,027 INFO L290 TraceCheckUtils]: 45: Hoare triple {21822#(<= ~counter~0 2)} assume true; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,027 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21822#(<= ~counter~0 2)} {21822#(<= ~counter~0 2)} #86#return; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {21822#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21822#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:44,028 INFO L290 TraceCheckUtils]: 48: Hoare triple {21822#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {21877#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,028 INFO L272 TraceCheckUtils]: 50: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,029 INFO L290 TraceCheckUtils]: 53: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,030 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #82#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,030 INFO L272 TraceCheckUtils]: 55: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,030 INFO L290 TraceCheckUtils]: 56: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,030 INFO L290 TraceCheckUtils]: 57: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,031 INFO L290 TraceCheckUtils]: 58: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,031 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #84#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,031 INFO L272 TraceCheckUtils]: 60: Hoare triple {21877#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,032 INFO L290 TraceCheckUtils]: 61: Hoare triple {21877#(<= ~counter~0 3)} ~cond := #in~cond; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,032 INFO L290 TraceCheckUtils]: 62: Hoare triple {21877#(<= ~counter~0 3)} assume !(0 == ~cond); {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,032 INFO L290 TraceCheckUtils]: 63: Hoare triple {21877#(<= ~counter~0 3)} assume true; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,033 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21877#(<= ~counter~0 3)} {21877#(<= ~counter~0 3)} #86#return; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {21877#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21877#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:44,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {21877#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,034 INFO L290 TraceCheckUtils]: 67: Hoare triple {21932#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,034 INFO L272 TraceCheckUtils]: 68: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,034 INFO L290 TraceCheckUtils]: 69: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,034 INFO L290 TraceCheckUtils]: 70: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,035 INFO L290 TraceCheckUtils]: 71: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,035 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #82#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,035 INFO L272 TraceCheckUtils]: 73: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,036 INFO L290 TraceCheckUtils]: 74: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,036 INFO L290 TraceCheckUtils]: 75: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,036 INFO L290 TraceCheckUtils]: 76: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,036 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #84#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,037 INFO L272 TraceCheckUtils]: 78: Hoare triple {21932#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,037 INFO L290 TraceCheckUtils]: 79: Hoare triple {21932#(<= ~counter~0 4)} ~cond := #in~cond; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,037 INFO L290 TraceCheckUtils]: 80: Hoare triple {21932#(<= ~counter~0 4)} assume !(0 == ~cond); {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,038 INFO L290 TraceCheckUtils]: 81: Hoare triple {21932#(<= ~counter~0 4)} assume true; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,038 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21932#(<= ~counter~0 4)} {21932#(<= ~counter~0 4)} #86#return; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {21932#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21932#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 84: Hoare triple {21932#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21987#(<= |main_#t~post6| 4)} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 85: Hoare triple {21987#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 20);havoc #t~post7; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 89: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 90: Hoare triple {21726#false} assume !(0 == ~cond); {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 91: Hoare triple {21726#false} assume true; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21726#false} {21726#false} #92#return; {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-08 12:59:44,039 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-08 12:59:44,040 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-08 12:59:44,040 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-08 12:59:44,040 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-08 12:59:44,040 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 96: Hoare triple {21726#false} assume !false; {21726#false} is VALID [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 95: Hoare triple {21726#false} assume 0 == ~cond; {21726#false} is VALID [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 94: Hoare triple {21726#false} ~cond := #in~cond; {21726#false} is VALID [2022-04-08 12:59:44,397 INFO L272 TraceCheckUtils]: 93: Hoare triple {21726#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {21726#false} is VALID [2022-04-08 12:59:44,397 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21725#true} {21726#false} #92#return; {21726#false} is VALID [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 91: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 90: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,397 INFO L290 TraceCheckUtils]: 89: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,397 INFO L272 TraceCheckUtils]: 88: Hoare triple {21726#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,398 INFO L290 TraceCheckUtils]: 87: Hoare triple {21726#false} assume !(#t~post7 < 20);havoc #t~post7; {21726#false} is VALID [2022-04-08 12:59:44,398 INFO L290 TraceCheckUtils]: 86: Hoare triple {21726#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {21726#false} is VALID [2022-04-08 12:59:44,398 INFO L290 TraceCheckUtils]: 85: Hoare triple {22057#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {21726#false} is VALID [2022-04-08 12:59:44,398 INFO L290 TraceCheckUtils]: 84: Hoare triple {22061#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22057#(< |main_#t~post6| 20)} is VALID [2022-04-08 12:59:44,398 INFO L290 TraceCheckUtils]: 83: Hoare triple {22061#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,399 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {21725#true} {22061#(< ~counter~0 20)} #86#return; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,399 INFO L290 TraceCheckUtils]: 81: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,399 INFO L290 TraceCheckUtils]: 80: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,399 INFO L290 TraceCheckUtils]: 79: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,399 INFO L272 TraceCheckUtils]: 78: Hoare triple {22061#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,400 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21725#true} {22061#(< ~counter~0 20)} #84#return; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,400 INFO L290 TraceCheckUtils]: 76: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,400 INFO L290 TraceCheckUtils]: 75: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,400 INFO L290 TraceCheckUtils]: 74: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,400 INFO L272 TraceCheckUtils]: 73: Hoare triple {22061#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,447 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21725#true} {22061#(< ~counter~0 20)} #82#return; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,447 INFO L290 TraceCheckUtils]: 71: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,447 INFO L290 TraceCheckUtils]: 70: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,447 INFO L290 TraceCheckUtils]: 69: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,447 INFO L272 TraceCheckUtils]: 68: Hoare triple {22061#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,448 INFO L290 TraceCheckUtils]: 67: Hoare triple {22061#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,448 INFO L290 TraceCheckUtils]: 66: Hoare triple {22116#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22061#(< ~counter~0 20)} is VALID [2022-04-08 12:59:44,449 INFO L290 TraceCheckUtils]: 65: Hoare triple {22116#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,449 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21725#true} {22116#(< ~counter~0 19)} #86#return; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,449 INFO L290 TraceCheckUtils]: 63: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,449 INFO L290 TraceCheckUtils]: 62: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,449 INFO L290 TraceCheckUtils]: 61: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,449 INFO L272 TraceCheckUtils]: 60: Hoare triple {22116#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,450 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21725#true} {22116#(< ~counter~0 19)} #84#return; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,450 INFO L290 TraceCheckUtils]: 58: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,450 INFO L290 TraceCheckUtils]: 57: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,450 INFO L290 TraceCheckUtils]: 56: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,450 INFO L272 TraceCheckUtils]: 55: Hoare triple {22116#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,450 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21725#true} {22116#(< ~counter~0 19)} #82#return; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,451 INFO L290 TraceCheckUtils]: 53: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,451 INFO L290 TraceCheckUtils]: 52: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,451 INFO L290 TraceCheckUtils]: 51: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,451 INFO L272 TraceCheckUtils]: 50: Hoare triple {22116#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {22116#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,451 INFO L290 TraceCheckUtils]: 48: Hoare triple {22171#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22116#(< ~counter~0 19)} is VALID [2022-04-08 12:59:44,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {22171#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,452 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21725#true} {22171#(< ~counter~0 18)} #86#return; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,452 INFO L290 TraceCheckUtils]: 45: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,452 INFO L290 TraceCheckUtils]: 44: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,452 INFO L290 TraceCheckUtils]: 43: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,452 INFO L272 TraceCheckUtils]: 42: Hoare triple {22171#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,453 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21725#true} {22171#(< ~counter~0 18)} #84#return; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,453 INFO L290 TraceCheckUtils]: 40: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,453 INFO L290 TraceCheckUtils]: 39: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,453 INFO L290 TraceCheckUtils]: 38: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,453 INFO L272 TraceCheckUtils]: 37: Hoare triple {22171#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,453 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21725#true} {22171#(< ~counter~0 18)} #82#return; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,453 INFO L290 TraceCheckUtils]: 35: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,454 INFO L290 TraceCheckUtils]: 34: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,454 INFO L272 TraceCheckUtils]: 32: Hoare triple {22171#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {22171#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,454 INFO L290 TraceCheckUtils]: 30: Hoare triple {22226#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22171#(< ~counter~0 18)} is VALID [2022-04-08 12:59:44,455 INFO L290 TraceCheckUtils]: 29: Hoare triple {22226#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,455 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21725#true} {22226#(< ~counter~0 17)} #86#return; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,455 INFO L272 TraceCheckUtils]: 24: Hoare triple {22226#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21725#true} {22226#(< ~counter~0 17)} #84#return; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L272 TraceCheckUtils]: 19: Hoare triple {22226#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21725#true} {22226#(< ~counter~0 17)} #82#return; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,457 INFO L272 TraceCheckUtils]: 14: Hoare triple {22226#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {22226#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {22281#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22226#(< ~counter~0 17)} is VALID [2022-04-08 12:59:44,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {22281#(< ~counter~0 16)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21725#true} {22281#(< ~counter~0 16)} #80#return; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {21725#true} assume true; {21725#true} is VALID [2022-04-08 12:59:44,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {21725#true} assume !(0 == ~cond); {21725#true} is VALID [2022-04-08 12:59:44,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {21725#true} ~cond := #in~cond; {21725#true} is VALID [2022-04-08 12:59:44,458 INFO L272 TraceCheckUtils]: 6: Hoare triple {22281#(< ~counter~0 16)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21725#true} is VALID [2022-04-08 12:59:44,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {22281#(< ~counter~0 16)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,459 INFO L272 TraceCheckUtils]: 4: Hoare triple {22281#(< ~counter~0 16)} call #t~ret8 := main(); {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22281#(< ~counter~0 16)} {21725#true} #96#return; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {22281#(< ~counter~0 16)} assume true; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {21725#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {22281#(< ~counter~0 16)} is VALID [2022-04-08 12:59:44,460 INFO L272 TraceCheckUtils]: 0: Hoare triple {21725#true} call ULTIMATE.init(); {21725#true} is VALID [2022-04-08 12:59:44,460 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 12:59:44,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:59:44,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095559698] [2022-04-08 12:59:44,460 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:59:44,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [559246950] [2022-04-08 12:59:44,460 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [559246950] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:59:44,461 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:59:44,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 12:59:44,461 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:59:44,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2139106712] [2022-04-08 12:59:44,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2139106712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:59:44,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:59:44,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:59:44,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [681993685] [2022-04-08 12:59:44,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:59:44,462 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-08 12:59:44,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:59:44,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:44,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:44,519 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:59:44,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:44,519 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:59:44,519 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:59:44,519 INFO L87 Difference]: Start difference. First operand 180 states and 207 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:44,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:44,997 INFO L93 Difference]: Finished difference Result 225 states and 269 transitions. [2022-04-08 12:59:44,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 12:59:44,997 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-08 12:59:44,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:59:44,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:44,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-08 12:59:44,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:45,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 123 transitions. [2022-04-08 12:59:45,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 123 transitions. [2022-04-08 12:59:45,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:45,096 INFO L225 Difference]: With dead ends: 225 [2022-04-08 12:59:45,096 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 12:59:45,097 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 181 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:59:45,097 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 15 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:59:45,097 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 188 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:59:45,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 12:59:45,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-08 12:59:45,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:59:45,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:45,313 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:45,313 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:45,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:45,315 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-08 12:59:45,315 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-08 12:59:45,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:45,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:45,316 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-08 12:59:45,316 INFO L87 Difference]: Start difference. First operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 182 states. [2022-04-08 12:59:45,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:45,318 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2022-04-08 12:59:45,318 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-08 12:59:45,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:45,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:45,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:59:45,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:59:45,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 119 states have (on average 1.1428571428571428) internal successors, (136), 125 states have internal predecessors, (136), 38 states have call successors, (38), 25 states have call predecessors, (38), 24 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 12:59:45,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 209 transitions. [2022-04-08 12:59:45,321 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 209 transitions. Word has length 97 [2022-04-08 12:59:45,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:59:45,321 INFO L478 AbstractCegarLoop]: Abstraction has 182 states and 209 transitions. [2022-04-08 12:59:45,321 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:45,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 209 transitions. [2022-04-08 12:59:47,613 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 208 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:47,613 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 209 transitions. [2022-04-08 12:59:47,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 12:59:47,614 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:59:47,614 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:59:47,632 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 12:59:47,820 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:47,820 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:59:47,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:59:47,822 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-08 12:59:47,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:47,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1926857776] [2022-04-08 12:59:54,286 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 12:59:54,287 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 12:59:54,287 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-08 12:59:54,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:59:54,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1250683708] [2022-04-08 12:59:54,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:59:54,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:59:54,299 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:59:54,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [836738972] [2022-04-08 12:59:54,300 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:59:54,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:59:54,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:59:54,300 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:59:54,301 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 12:59:54,451 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 12:59:54,451 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:59:54,452 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:59:54,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:59:54,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:59:54,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-08 12:59:54,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23514#(<= ~counter~0 0)} {23506#true} #96#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {23514#(<= ~counter~0 0)} call #t~ret8 := main(); {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,856 INFO L290 TraceCheckUtils]: 5: Hoare triple {23514#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,856 INFO L272 TraceCheckUtils]: 6: Hoare triple {23514#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {23514#(<= ~counter~0 0)} ~cond := #in~cond; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {23514#(<= ~counter~0 0)} assume !(0 == ~cond); {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {23514#(<= ~counter~0 0)} assume true; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23514#(<= ~counter~0 0)} {23514#(<= ~counter~0 0)} #80#return; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,857 INFO L290 TraceCheckUtils]: 11: Hoare triple {23514#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {23514#(<= ~counter~0 0)} is VALID [2022-04-08 12:59:54,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {23514#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {23548#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,859 INFO L272 TraceCheckUtils]: 14: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,860 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #82#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,860 INFO L272 TraceCheckUtils]: 19: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,861 INFO L290 TraceCheckUtils]: 21: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,861 INFO L290 TraceCheckUtils]: 22: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,861 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #84#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,862 INFO L272 TraceCheckUtils]: 24: Hoare triple {23548#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {23548#(<= ~counter~0 1)} ~cond := #in~cond; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,862 INFO L290 TraceCheckUtils]: 26: Hoare triple {23548#(<= ~counter~0 1)} assume !(0 == ~cond); {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {23548#(<= ~counter~0 1)} assume true; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,863 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23548#(<= ~counter~0 1)} {23548#(<= ~counter~0 1)} #86#return; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {23548#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23548#(<= ~counter~0 1)} is VALID [2022-04-08 12:59:54,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {23548#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {23603#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,864 INFO L272 TraceCheckUtils]: 32: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,864 INFO L290 TraceCheckUtils]: 33: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,865 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #82#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,866 INFO L272 TraceCheckUtils]: 37: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,866 INFO L290 TraceCheckUtils]: 39: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,866 INFO L290 TraceCheckUtils]: 40: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,867 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #84#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,867 INFO L272 TraceCheckUtils]: 42: Hoare triple {23603#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {23603#(<= ~counter~0 2)} ~cond := #in~cond; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {23603#(<= ~counter~0 2)} assume !(0 == ~cond); {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {23603#(<= ~counter~0 2)} assume true; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,868 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23603#(<= ~counter~0 2)} {23603#(<= ~counter~0 2)} #86#return; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,868 INFO L290 TraceCheckUtils]: 47: Hoare triple {23603#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23603#(<= ~counter~0 2)} is VALID [2022-04-08 12:59:54,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {23603#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,869 INFO L290 TraceCheckUtils]: 49: Hoare triple {23658#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,869 INFO L272 TraceCheckUtils]: 50: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,870 INFO L290 TraceCheckUtils]: 51: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,870 INFO L290 TraceCheckUtils]: 52: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,870 INFO L290 TraceCheckUtils]: 53: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,871 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #82#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,871 INFO L272 TraceCheckUtils]: 55: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,871 INFO L290 TraceCheckUtils]: 56: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,871 INFO L290 TraceCheckUtils]: 57: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,872 INFO L290 TraceCheckUtils]: 58: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,872 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #84#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,872 INFO L272 TraceCheckUtils]: 60: Hoare triple {23658#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,873 INFO L290 TraceCheckUtils]: 61: Hoare triple {23658#(<= ~counter~0 3)} ~cond := #in~cond; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,873 INFO L290 TraceCheckUtils]: 62: Hoare triple {23658#(<= ~counter~0 3)} assume !(0 == ~cond); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,873 INFO L290 TraceCheckUtils]: 63: Hoare triple {23658#(<= ~counter~0 3)} assume true; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,874 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23658#(<= ~counter~0 3)} {23658#(<= ~counter~0 3)} #86#return; {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,874 INFO L290 TraceCheckUtils]: 65: Hoare triple {23658#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {23658#(<= ~counter~0 3)} is VALID [2022-04-08 12:59:54,874 INFO L290 TraceCheckUtils]: 66: Hoare triple {23658#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,875 INFO L290 TraceCheckUtils]: 67: Hoare triple {23713#(<= ~counter~0 4)} assume !!(#t~post7 < 20);havoc #t~post7; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,875 INFO L272 TraceCheckUtils]: 68: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,875 INFO L290 TraceCheckUtils]: 69: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,875 INFO L290 TraceCheckUtils]: 70: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,876 INFO L290 TraceCheckUtils]: 71: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,876 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #88#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,877 INFO L272 TraceCheckUtils]: 73: Hoare triple {23713#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,877 INFO L290 TraceCheckUtils]: 74: Hoare triple {23713#(<= ~counter~0 4)} ~cond := #in~cond; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,877 INFO L290 TraceCheckUtils]: 75: Hoare triple {23713#(<= ~counter~0 4)} assume !(0 == ~cond); {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,877 INFO L290 TraceCheckUtils]: 76: Hoare triple {23713#(<= ~counter~0 4)} assume true; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,878 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23713#(<= ~counter~0 4)} {23713#(<= ~counter~0 4)} #90#return; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,878 INFO L290 TraceCheckUtils]: 78: Hoare triple {23713#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,878 INFO L290 TraceCheckUtils]: 79: Hoare triple {23713#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23713#(<= ~counter~0 4)} is VALID [2022-04-08 12:59:54,879 INFO L290 TraceCheckUtils]: 80: Hoare triple {23713#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,879 INFO L290 TraceCheckUtils]: 81: Hoare triple {23756#(<= ~counter~0 5)} assume !!(#t~post7 < 20);havoc #t~post7; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,879 INFO L272 TraceCheckUtils]: 82: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,880 INFO L290 TraceCheckUtils]: 83: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,880 INFO L290 TraceCheckUtils]: 84: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,880 INFO L290 TraceCheckUtils]: 85: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,881 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #88#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,881 INFO L272 TraceCheckUtils]: 87: Hoare triple {23756#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,881 INFO L290 TraceCheckUtils]: 88: Hoare triple {23756#(<= ~counter~0 5)} ~cond := #in~cond; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,881 INFO L290 TraceCheckUtils]: 89: Hoare triple {23756#(<= ~counter~0 5)} assume !(0 == ~cond); {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,882 INFO L290 TraceCheckUtils]: 90: Hoare triple {23756#(<= ~counter~0 5)} assume true; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,882 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23756#(<= ~counter~0 5)} {23756#(<= ~counter~0 5)} #90#return; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,882 INFO L290 TraceCheckUtils]: 92: Hoare triple {23756#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 93: Hoare triple {23756#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23756#(<= ~counter~0 5)} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 94: Hoare triple {23756#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23799#(<= |main_#t~post7| 5)} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 95: Hoare triple {23799#(<= |main_#t~post7| 5)} assume !(#t~post7 < 20);havoc #t~post7; {23507#false} is VALID [2022-04-08 12:59:54,883 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-08 12:59:54,883 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-08 12:59:54,884 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 12:59:54,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:59:55,288 INFO L290 TraceCheckUtils]: 99: Hoare triple {23507#false} assume !false; {23507#false} is VALID [2022-04-08 12:59:55,288 INFO L290 TraceCheckUtils]: 98: Hoare triple {23507#false} assume 0 == ~cond; {23507#false} is VALID [2022-04-08 12:59:55,288 INFO L290 TraceCheckUtils]: 97: Hoare triple {23507#false} ~cond := #in~cond; {23507#false} is VALID [2022-04-08 12:59:55,288 INFO L272 TraceCheckUtils]: 96: Hoare triple {23507#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23507#false} is VALID [2022-04-08 12:59:55,289 INFO L290 TraceCheckUtils]: 95: Hoare triple {23827#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {23507#false} is VALID [2022-04-08 12:59:55,289 INFO L290 TraceCheckUtils]: 94: Hoare triple {23831#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23827#(< |main_#t~post7| 20)} is VALID [2022-04-08 12:59:55,289 INFO L290 TraceCheckUtils]: 93: Hoare triple {23831#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,289 INFO L290 TraceCheckUtils]: 92: Hoare triple {23831#(< ~counter~0 20)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,290 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23506#true} {23831#(< ~counter~0 20)} #90#return; {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,290 INFO L290 TraceCheckUtils]: 90: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,290 INFO L290 TraceCheckUtils]: 89: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,290 INFO L290 TraceCheckUtils]: 88: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,290 INFO L272 TraceCheckUtils]: 87: Hoare triple {23831#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,290 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23506#true} {23831#(< ~counter~0 20)} #88#return; {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,291 INFO L290 TraceCheckUtils]: 85: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,291 INFO L290 TraceCheckUtils]: 84: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,291 INFO L290 TraceCheckUtils]: 83: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,291 INFO L272 TraceCheckUtils]: 82: Hoare triple {23831#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,291 INFO L290 TraceCheckUtils]: 81: Hoare triple {23831#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,292 INFO L290 TraceCheckUtils]: 80: Hoare triple {23874#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23831#(< ~counter~0 20)} is VALID [2022-04-08 12:59:55,292 INFO L290 TraceCheckUtils]: 79: Hoare triple {23874#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,292 INFO L290 TraceCheckUtils]: 78: Hoare triple {23874#(< ~counter~0 19)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,293 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23506#true} {23874#(< ~counter~0 19)} #90#return; {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 76: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 75: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 74: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L272 TraceCheckUtils]: 73: Hoare triple {23874#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23506#true} {23874#(< ~counter~0 19)} #88#return; {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 71: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 70: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,293 INFO L272 TraceCheckUtils]: 68: Hoare triple {23874#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,294 INFO L290 TraceCheckUtils]: 67: Hoare triple {23874#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,294 INFO L290 TraceCheckUtils]: 66: Hoare triple {23917#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23874#(< ~counter~0 19)} is VALID [2022-04-08 12:59:55,294 INFO L290 TraceCheckUtils]: 65: Hoare triple {23917#(< ~counter~0 18)} assume !(~r~0 >= ~d~0); {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,295 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23506#true} {23917#(< ~counter~0 18)} #86#return; {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,295 INFO L290 TraceCheckUtils]: 63: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,295 INFO L290 TraceCheckUtils]: 62: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,295 INFO L290 TraceCheckUtils]: 61: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,295 INFO L272 TraceCheckUtils]: 60: Hoare triple {23917#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,295 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23506#true} {23917#(< ~counter~0 18)} #84#return; {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,295 INFO L290 TraceCheckUtils]: 58: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 57: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 56: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L272 TraceCheckUtils]: 55: Hoare triple {23917#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23506#true} {23917#(< ~counter~0 18)} #82#return; {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 53: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 52: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 51: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L272 TraceCheckUtils]: 50: Hoare triple {23917#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,296 INFO L290 TraceCheckUtils]: 49: Hoare triple {23917#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {23972#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23917#(< ~counter~0 18)} is VALID [2022-04-08 12:59:55,297 INFO L290 TraceCheckUtils]: 47: Hoare triple {23972#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,298 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23506#true} {23972#(< ~counter~0 17)} #86#return; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,298 INFO L290 TraceCheckUtils]: 44: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,298 INFO L272 TraceCheckUtils]: 42: Hoare triple {23972#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,298 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23506#true} {23972#(< ~counter~0 17)} #84#return; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,298 INFO L290 TraceCheckUtils]: 40: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,311 INFO L290 TraceCheckUtils]: 38: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,311 INFO L272 TraceCheckUtils]: 37: Hoare triple {23972#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,321 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23506#true} {23972#(< ~counter~0 17)} #82#return; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,321 INFO L290 TraceCheckUtils]: 34: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,321 INFO L290 TraceCheckUtils]: 33: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,321 INFO L272 TraceCheckUtils]: 32: Hoare triple {23972#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {23972#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {24027#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23972#(< ~counter~0 17)} is VALID [2022-04-08 12:59:55,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {24027#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,323 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23506#true} {24027#(< ~counter~0 16)} #86#return; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,323 INFO L290 TraceCheckUtils]: 27: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,323 INFO L272 TraceCheckUtils]: 24: Hoare triple {24027#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,323 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23506#true} {24027#(< ~counter~0 16)} #84#return; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 22: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 21: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L272 TraceCheckUtils]: 19: Hoare triple {24027#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23506#true} {24027#(< ~counter~0 16)} #82#return; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 17: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 16: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,324 INFO L272 TraceCheckUtils]: 14: Hoare triple {24027#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {24027#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {24082#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {24027#(< ~counter~0 16)} is VALID [2022-04-08 12:59:55,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {24082#(< ~counter~0 15)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,326 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23506#true} {24082#(< ~counter~0 15)} #80#return; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {23506#true} assume true; {23506#true} is VALID [2022-04-08 12:59:55,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {23506#true} assume !(0 == ~cond); {23506#true} is VALID [2022-04-08 12:59:55,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {23506#true} ~cond := #in~cond; {23506#true} is VALID [2022-04-08 12:59:55,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {24082#(< ~counter~0 15)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23506#true} is VALID [2022-04-08 12:59:55,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {24082#(< ~counter~0 15)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {24082#(< ~counter~0 15)} call #t~ret8 := main(); {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24082#(< ~counter~0 15)} {23506#true} #96#return; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {24082#(< ~counter~0 15)} assume true; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {23506#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {24082#(< ~counter~0 15)} is VALID [2022-04-08 12:59:55,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {23506#true} call ULTIMATE.init(); {23506#true} is VALID [2022-04-08 12:59:55,328 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 12:59:55,328 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:59:55,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1250683708] [2022-04-08 12:59:55,328 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:59:55,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [836738972] [2022-04-08 12:59:55,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [836738972] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:59:55,328 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:59:55,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 12:59:55,328 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:59:55,328 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1926857776] [2022-04-08 12:59:55,328 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1926857776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:59:55,328 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:59:55,328 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:59:55,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1222300674] [2022-04-08 12:59:55,329 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:59:55,329 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-08 12:59:55,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:59:55,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:55,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:55,387 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:59:55,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:55,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:59:55,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:59:55,387 INFO L87 Difference]: Start difference. First operand 182 states and 209 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:56,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:56,054 INFO L93 Difference]: Finished difference Result 243 states and 275 transitions. [2022-04-08 12:59:56,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:59:56,054 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-08 12:59:56,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:59:56,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:56,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-08 12:59:56,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:56,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-04-08 12:59:56,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 140 transitions. [2022-04-08 12:59:56,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:56,190 INFO L225 Difference]: With dead ends: 243 [2022-04-08 12:59:56,190 INFO L226 Difference]: Without dead ends: 227 [2022-04-08 12:59:56,190 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:59:56,191 INFO L913 BasicCegarLoop]: 61 mSDtfsCounter, 44 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:59:56,191 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 228 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:59:56,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-08 12:59:56,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 224. [2022-04-08 12:59:56,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:59:56,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 12:59:56,419 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 12:59:56,419 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 12:59:56,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:56,422 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-08 12:59:56,422 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-08 12:59:56,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:56,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:56,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-08 12:59:56,423 INFO L87 Difference]: Start difference. First operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 227 states. [2022-04-08 12:59:56,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:59:56,426 INFO L93 Difference]: Finished difference Result 227 states and 254 transitions. [2022-04-08 12:59:56,426 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 254 transitions. [2022-04-08 12:59:56,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:59:56,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:59:56,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:59:56,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:59:56,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 148 states have (on average 1.1216216216216217) internal successors, (166), 154 states have internal predecessors, (166), 45 states have call successors, (45), 32 states have call predecessors, (45), 30 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 12:59:56,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 252 transitions. [2022-04-08 12:59:56,430 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 252 transitions. Word has length 100 [2022-04-08 12:59:56,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:59:56,430 INFO L478 AbstractCegarLoop]: Abstraction has 224 states and 252 transitions. [2022-04-08 12:59:56,430 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-08 12:59:56,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 252 transitions. [2022-04-08 12:59:58,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 252 edges. 251 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 12:59:58,769 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 252 transitions. [2022-04-08 12:59:58,783 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 12:59:58,783 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:59:58,783 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:59:58,802 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-08 12:59:58,999 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-08 12:59:59,000 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:59:59,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:59:59,000 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 11 times [2022-04-08 12:59:59,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:59:59,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1621244723] [2022-04-08 13:00:05,700 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:00:05,700 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:00:05,700 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 12 times [2022-04-08 13:00:05,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:00:05,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [823565047] [2022-04-08 13:00:05,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:00:05,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:00:05,717 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:00:05,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [592311703] [2022-04-08 13:00:05,718 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 13:00:05,718 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:00:05,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:00:05,718 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:00:05,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-08 13:00:05,853 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 13:00:05,854 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:00:05,855 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-08 13:00:05,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:00:05,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:00:07,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:00:07,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {25539#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:00:07,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25543#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:00:07,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25543#(not (= |assume_abort_if_not_#in~cond| 0))} {25513#true} #80#return; {25550#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 13:00:07,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {25550#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,886 INFO L290 TraceCheckUtils]: 12: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,887 INFO L290 TraceCheckUtils]: 13: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,887 INFO L272 TraceCheckUtils]: 14: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,887 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,887 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,888 INFO L272 TraceCheckUtils]: 19: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,888 INFO L272 TraceCheckUtils]: 24: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,889 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:00:07,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {25554#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,892 INFO L272 TraceCheckUtils]: 32: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,892 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,892 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,892 INFO L272 TraceCheckUtils]: 37: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,892 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,893 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,893 INFO L272 TraceCheckUtils]: 42: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,893 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:00:07,894 INFO L290 TraceCheckUtils]: 44: Hoare triple {25652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:00:07,894 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:00:07,894 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,896 INFO L290 TraceCheckUtils]: 47: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,896 INFO L290 TraceCheckUtils]: 48: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 49: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,897 INFO L272 TraceCheckUtils]: 50: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,897 INFO L272 TraceCheckUtils]: 55: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,897 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,898 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,898 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,898 INFO L272 TraceCheckUtils]: 60: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,898 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,898 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,898 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,899 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,899 INFO L290 TraceCheckUtils]: 65: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,900 INFO L290 TraceCheckUtils]: 66: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,900 INFO L290 TraceCheckUtils]: 67: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,900 INFO L272 TraceCheckUtils]: 68: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,900 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,900 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,900 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,901 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,901 INFO L272 TraceCheckUtils]: 73: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,901 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,901 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,903 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:00:07,908 INFO L290 TraceCheckUtils]: 78: Hoare triple {25666#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:00:07,911 INFO L290 TraceCheckUtils]: 79: Hoare triple {25609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:07,911 INFO L290 TraceCheckUtils]: 80: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:07,912 INFO L290 TraceCheckUtils]: 81: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:07,912 INFO L272 TraceCheckUtils]: 82: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,912 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,912 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,912 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,913 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:07,913 INFO L272 TraceCheckUtils]: 87: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:00:07,913 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:00:07,913 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:00:07,913 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:00:07,913 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:00:07,915 INFO L290 TraceCheckUtils]: 92: Hoare triple {25763#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:00:07,916 INFO L290 TraceCheckUtils]: 93: Hoare triple {25803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:00:07,917 INFO L290 TraceCheckUtils]: 94: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:00:07,917 INFO L290 TraceCheckUtils]: 95: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 20);havoc #t~post7; {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-08 13:00:07,918 INFO L272 TraceCheckUtils]: 96: Hoare triple {25807#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:00:07,918 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:00:07,918 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-08 13:00:07,918 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-08 13:00:07,919 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 52 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 13:00:07,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:01:15,833 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~B~0 4294967296))) (or (not (= c_main_~d~0 (* c_main_~p~0 .cse0))) (let ((.cse5 (= (mod c_main_~p~0 2) 0)) (.cse11 (div c_main_~p~0 2))) (let ((.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0)) (.cse4 (* (+ c_main_~q~0 c_main_~p~0 .cse11 1) .cse0)) (.cse1 (mod c_main_~A~0 4294967296)) (.cse6 (* .cse0 (+ c_main_~q~0 c_main_~p~0 .cse11))) (.cse2 (* (- 1) c_main_~d~0)) (.cse3 (* (- 1) (div c_main_~d~0 2))) (.cse7 (not .cse5))) (and (or (and (or (= .cse1 (+ (- 1) .cse2 c_main_~r~0 .cse3 .cse4)) .cse5) (or (= .cse1 (+ (- 1) .cse6 .cse2 c_main_~r~0 .cse3)) .cse7)) .cse8 (not .cse9)) (or (and .cse9 (not .cse8)) (let ((.cse10 (< c_main_~p~0 0))) (and (or (= .cse1 (+ .cse2 c_main_~r~0 .cse3 .cse4)) .cse5 (not .cse10)) (or (= .cse1 (+ .cse6 .cse2 c_main_~r~0 .cse3)) (and .cse7 .cse10)))))))))) is different from true [2022-04-08 13:02:16,909 INFO L290 TraceCheckUtils]: 99: Hoare triple {25514#false} assume !false; {25514#false} is VALID [2022-04-08 13:02:16,909 INFO L290 TraceCheckUtils]: 98: Hoare triple {25821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25514#false} is VALID [2022-04-08 13:02:16,910 INFO L290 TraceCheckUtils]: 97: Hoare triple {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:02:16,910 INFO L272 TraceCheckUtils]: 96: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:02:16,910 INFO L290 TraceCheckUtils]: 95: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:16,911 INFO L290 TraceCheckUtils]: 94: Hoare triple {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:16,914 INFO L290 TraceCheckUtils]: 93: Hoare triple {25847#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25837#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:16,923 INFO L290 TraceCheckUtils]: 92: Hoare triple {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {25847#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 13:02:16,924 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {25513#true} {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:16,924 INFO L290 TraceCheckUtils]: 90: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:16,924 INFO L290 TraceCheckUtils]: 89: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:16,924 INFO L290 TraceCheckUtils]: 88: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:16,924 INFO L272 TraceCheckUtils]: 87: Hoare triple {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:16,924 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25513#true} {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:16,925 INFO L290 TraceCheckUtils]: 85: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:16,925 INFO L290 TraceCheckUtils]: 84: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:16,925 INFO L290 TraceCheckUtils]: 83: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:16,925 INFO L272 TraceCheckUtils]: 82: Hoare triple {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:16,926 INFO L290 TraceCheckUtils]: 81: Hoare triple {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:16,927 INFO L290 TraceCheckUtils]: 80: Hoare triple {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:16,942 INFO L290 TraceCheckUtils]: 79: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {25851#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:17,122 INFO L290 TraceCheckUtils]: 78: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 13:02:17,123 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #90#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,124 INFO L290 TraceCheckUtils]: 76: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,124 INFO L290 TraceCheckUtils]: 75: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,124 INFO L290 TraceCheckUtils]: 74: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,124 INFO L272 TraceCheckUtils]: 73: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,126 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #88#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,126 INFO L290 TraceCheckUtils]: 71: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,126 INFO L290 TraceCheckUtils]: 70: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,126 INFO L290 TraceCheckUtils]: 69: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,126 INFO L272 TraceCheckUtils]: 68: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,130 INFO L290 TraceCheckUtils]: 67: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post7 < 20);havoc #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,133 INFO L290 TraceCheckUtils]: 66: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,136 INFO L290 TraceCheckUtils]: 65: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,137 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #86#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,137 INFO L290 TraceCheckUtils]: 63: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,137 INFO L290 TraceCheckUtils]: 62: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,137 INFO L290 TraceCheckUtils]: 61: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,138 INFO L272 TraceCheckUtils]: 60: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,138 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #84#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,139 INFO L290 TraceCheckUtils]: 58: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,139 INFO L290 TraceCheckUtils]: 57: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,139 INFO L290 TraceCheckUtils]: 56: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,139 INFO L272 TraceCheckUtils]: 55: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,141 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {25513#true} {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #82#return; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,141 INFO L290 TraceCheckUtils]: 52: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,141 INFO L290 TraceCheckUtils]: 51: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,141 INFO L272 TraceCheckUtils]: 50: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,144 INFO L290 TraceCheckUtils]: 49: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 20);havoc #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,147 INFO L290 TraceCheckUtils]: 48: Hoare triple {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25895#(and (or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-08 13:02:17,252 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #86#return; {25891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 13:02:17,252 INFO L290 TraceCheckUtils]: 45: Hoare triple {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:02:17,253 INFO L290 TraceCheckUtils]: 44: Hoare triple {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:02:17,253 INFO L290 TraceCheckUtils]: 43: Hoare triple {25513#true} ~cond := #in~cond; {26002#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 13:02:17,253 INFO L272 TraceCheckUtils]: 42: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,254 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #84#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:17,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,254 INFO L290 TraceCheckUtils]: 39: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,254 INFO L290 TraceCheckUtils]: 38: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,254 INFO L272 TraceCheckUtils]: 37: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,254 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {25513#true} {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #82#return; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:17,255 INFO L290 TraceCheckUtils]: 35: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,255 INFO L290 TraceCheckUtils]: 33: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,255 INFO L272 TraceCheckUtils]: 32: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 20);havoc #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:17,257 INFO L290 TraceCheckUtils]: 30: Hoare triple {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:17,261 INFO L290 TraceCheckUtils]: 29: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {25992#(or (and (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:17,262 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #86#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,262 INFO L272 TraceCheckUtils]: 24: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,263 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #84#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,263 INFO L290 TraceCheckUtils]: 22: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,263 INFO L290 TraceCheckUtils]: 21: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,263 INFO L272 TraceCheckUtils]: 19: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,264 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {25513#true} {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #82#return; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,264 INFO L290 TraceCheckUtils]: 16: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,264 INFO L290 TraceCheckUtils]: 15: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,264 INFO L272 TraceCheckUtils]: 14: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} assume !!(#t~post6 < 20);havoc #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,267 INFO L290 TraceCheckUtils]: 11: Hoare triple {25513#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {26045#(or (= (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 2) main_~d~0) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))))} is VALID [2022-04-08 13:02:17,267 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25513#true} {25513#true} #80#return; {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {25513#true} assume !(0 == ~cond); {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {25513#true} ~cond := #in~cond; {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L272 TraceCheckUtils]: 6: Hoare triple {25513#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {25513#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {25513#true} is VALID [2022-04-08 13:02:17,267 INFO L272 TraceCheckUtils]: 4: Hoare triple {25513#true} call #t~ret8 := main(); {25513#true} is VALID [2022-04-08 13:02:17,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25513#true} {25513#true} #96#return; {25513#true} is VALID [2022-04-08 13:02:17,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {25513#true} assume true; {25513#true} is VALID [2022-04-08 13:02:17,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {25513#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25513#true} is VALID [2022-04-08 13:02:17,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {25513#true} call ULTIMATE.init(); {25513#true} is VALID [2022-04-08 13:02:17,269 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 40 proven. 42 refuted. 0 times theorem prover too weak. 276 trivial. 10 not checked. [2022-04-08 13:02:17,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:02:17,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [823565047] [2022-04-08 13:02:17,269 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:02:17,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [592311703] [2022-04-08 13:02:17,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [592311703] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:02:17,269 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:02:17,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-08 13:02:17,269 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:02:17,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1621244723] [2022-04-08 13:02:17,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1621244723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:02:17,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:02:17,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 13:02:17,270 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2127188285] [2022-04-08 13:02:17,270 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:02:17,270 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-08 13:02:17,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:02:17,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:02:17,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:02:17,355 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 13:02:17,355 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:02:17,355 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 13:02:17,355 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=385, Unknown=2, NotChecked=40, Total=506 [2022-04-08 13:02:17,356 INFO L87 Difference]: Start difference. First operand 224 states and 252 transitions. Second operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:02:21,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:21,054 INFO L93 Difference]: Finished difference Result 237 states and 264 transitions. [2022-04-08 13:02:21,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 13:02:21,054 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-08 13:02:21,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:02:21,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:02:21,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-08 13:02:21,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:02:21,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 108 transitions. [2022-04-08 13:02:21,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 108 transitions. [2022-04-08 13:02:21,206 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 13:02:21,209 INFO L225 Difference]: With dead ends: 237 [2022-04-08 13:02:21,209 INFO L226 Difference]: Without dead ends: 221 [2022-04-08 13:02:21,209 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 174 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 11.0s TimeCoverageRelationStatistics Valid=96, Invalid=506, Unknown=2, NotChecked=46, Total=650 [2022-04-08 13:02:21,210 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 43 mSDsluCounter, 279 mSDsCounter, 0 mSdLazyCounter, 644 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 683 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 644 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 13:02:21,210 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 329 Invalid, 683 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 644 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 13:02:21,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-04-08 13:02:21,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 221. [2022-04-08 13:02:21,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:02:21,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 13:02:21,486 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 13:02:21,486 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 13:02:21,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:21,497 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-08 13:02:21,497 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-08 13:02:21,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:02:21,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:02:21,498 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-08 13:02:21,498 INFO L87 Difference]: Start difference. First operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) Second operand 221 states. [2022-04-08 13:02:21,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:21,502 INFO L93 Difference]: Finished difference Result 221 states and 247 transitions. [2022-04-08 13:02:21,502 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-08 13:02:21,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:02:21,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:02:21,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:02:21,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:02:21,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 146 states have (on average 1.1164383561643836) internal successors, (163), 151 states have internal predecessors, (163), 44 states have call successors, (44), 32 states have call predecessors, (44), 30 states have return successors, (40), 37 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-08 13:02:21,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 247 transitions. [2022-04-08 13:02:21,507 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 247 transitions. Word has length 100 [2022-04-08 13:02:21,508 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:02:21,508 INFO L478 AbstractCegarLoop]: Abstraction has 221 states and 247 transitions. [2022-04-08 13:02:21,508 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 6 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 13:02:21,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 247 transitions. [2022-04-08 13:02:23,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:02:23,922 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 247 transitions. [2022-04-08 13:02:23,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 13:02:23,923 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:02:23,923 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:02:23,946 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-08 13:02:24,135 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-08 13:02:24,135 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:02:24,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:02:24,136 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 13 times [2022-04-08 13:02:24,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:02:24,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [599972457] [2022-04-08 13:02:32,374 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:02:32,374 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:02:32,374 INFO L85 PathProgramCache]: Analyzing trace with hash -391055071, now seen corresponding path program 14 times [2022-04-08 13:02:32,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:02:32,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890555865] [2022-04-08 13:02:32,374 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:02:32,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:02:32,383 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:02:32,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2012759823] [2022-04-08 13:02:32,383 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:02:32,384 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:02:32,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:02:32,384 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:02:32,385 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 13:02:32,439 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:02:32,439 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:02:32,440 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 13:02:32,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:02:32,457 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:02:37,728 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:02:37,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {27525#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:02:37,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27529#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:02:37,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27529#(not (= |assume_abort_if_not_#in~cond| 0))} {27499#true} #80#return; {27536#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 13:02:37,730 INFO L290 TraceCheckUtils]: 11: Hoare triple {27536#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,730 INFO L290 TraceCheckUtils]: 12: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,730 INFO L290 TraceCheckUtils]: 13: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,730 INFO L272 TraceCheckUtils]: 14: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,731 INFO L272 TraceCheckUtils]: 19: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,732 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,733 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:02:37,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {27540#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 31: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,735 INFO L272 TraceCheckUtils]: 32: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,735 INFO L272 TraceCheckUtils]: 37: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,735 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,736 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,736 INFO L272 TraceCheckUtils]: 42: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,736 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,736 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,736 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,737 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:02:37,738 INFO L290 TraceCheckUtils]: 47: Hoare triple {27595#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,738 INFO L290 TraceCheckUtils]: 48: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,739 INFO L290 TraceCheckUtils]: 49: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,739 INFO L272 TraceCheckUtils]: 50: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,739 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,739 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,739 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,739 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,740 INFO L272 TraceCheckUtils]: 55: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,740 INFO L272 TraceCheckUtils]: 60: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,740 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,741 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:02:37,742 INFO L290 TraceCheckUtils]: 65: Hoare triple {27650#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,742 INFO L290 TraceCheckUtils]: 66: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,743 INFO L290 TraceCheckUtils]: 67: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,743 INFO L272 TraceCheckUtils]: 68: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,743 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,743 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,743 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,743 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,744 INFO L272 TraceCheckUtils]: 73: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,744 INFO L272 TraceCheckUtils]: 78: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,744 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,745 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,745 INFO L290 TraceCheckUtils]: 83: Hoare triple {27705#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,746 INFO L290 TraceCheckUtils]: 84: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,746 INFO L290 TraceCheckUtils]: 85: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,746 INFO L272 TraceCheckUtils]: 86: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,746 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,746 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,746 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,747 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #88#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,747 INFO L272 TraceCheckUtils]: 91: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:37,747 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:37,747 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:37,747 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:37,747 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #90#return; {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,749 INFO L290 TraceCheckUtils]: 96: Hoare triple {27760#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:02:37,750 INFO L290 TraceCheckUtils]: 97: Hoare triple {27800#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 8 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 4) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:02:37,751 INFO L290 TraceCheckUtils]: 98: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:02:37,751 INFO L290 TraceCheckUtils]: 99: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 20);havoc #t~post7; {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:02:37,752 INFO L272 TraceCheckUtils]: 100: Hoare triple {27804#(and (= main_~r~0 (+ (* (- 1) (div (* 8 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~q~0 4) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:02:37,752 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:02:37,752 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-08 13:02:37,752 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-08 13:02:37,753 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-08 13:02:37,753 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:02:51,597 INFO L290 TraceCheckUtils]: 103: Hoare triple {27500#false} assume !false; {27500#false} is VALID [2022-04-08 13:02:51,597 INFO L290 TraceCheckUtils]: 102: Hoare triple {27818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27500#false} is VALID [2022-04-08 13:02:51,598 INFO L290 TraceCheckUtils]: 101: Hoare triple {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:02:51,599 INFO L272 TraceCheckUtils]: 100: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:02:51,599 INFO L290 TraceCheckUtils]: 99: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:51,599 INFO L290 TraceCheckUtils]: 98: Hoare triple {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:51,603 INFO L290 TraceCheckUtils]: 97: Hoare triple {27844#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {27834#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 13:02:51,617 INFO L290 TraceCheckUtils]: 96: Hoare triple {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {27844#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 13:02:51,618 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {27499#true} {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:51,618 INFO L290 TraceCheckUtils]: 94: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,618 INFO L290 TraceCheckUtils]: 93: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,618 INFO L290 TraceCheckUtils]: 92: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,619 INFO L272 TraceCheckUtils]: 91: Hoare triple {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,619 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {27499#true} {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:51,619 INFO L290 TraceCheckUtils]: 89: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,619 INFO L290 TraceCheckUtils]: 88: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,619 INFO L290 TraceCheckUtils]: 87: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,620 INFO L272 TraceCheckUtils]: 86: Hoare triple {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,621 INFO L290 TraceCheckUtils]: 85: Hoare triple {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:51,622 INFO L290 TraceCheckUtils]: 84: Hoare triple {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:51,624 INFO L290 TraceCheckUtils]: 83: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {27848#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:02:51,624 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27499#true} {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #86#return; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,625 INFO L290 TraceCheckUtils]: 81: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,625 INFO L290 TraceCheckUtils]: 80: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,625 INFO L290 TraceCheckUtils]: 79: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,625 INFO L272 TraceCheckUtils]: 78: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,625 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27499#true} {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,626 INFO L290 TraceCheckUtils]: 76: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,626 INFO L290 TraceCheckUtils]: 75: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,626 INFO L290 TraceCheckUtils]: 74: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,626 INFO L272 TraceCheckUtils]: 73: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,626 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27499#true} {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,627 INFO L290 TraceCheckUtils]: 71: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,627 INFO L290 TraceCheckUtils]: 70: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,627 INFO L290 TraceCheckUtils]: 69: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,627 INFO L272 TraceCheckUtils]: 68: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,628 INFO L290 TraceCheckUtils]: 67: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,630 INFO L290 TraceCheckUtils]: 66: Hoare triple {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,633 INFO L290 TraceCheckUtils]: 65: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27888#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 13:02:51,634 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {27499#true} {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,634 INFO L290 TraceCheckUtils]: 63: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,634 INFO L290 TraceCheckUtils]: 62: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,634 INFO L290 TraceCheckUtils]: 61: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,635 INFO L272 TraceCheckUtils]: 60: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,635 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {27499#true} {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,635 INFO L290 TraceCheckUtils]: 57: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,635 INFO L290 TraceCheckUtils]: 56: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,635 INFO L272 TraceCheckUtils]: 55: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,636 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {27499#true} {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,636 INFO L290 TraceCheckUtils]: 53: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,636 INFO L290 TraceCheckUtils]: 52: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,636 INFO L290 TraceCheckUtils]: 51: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,636 INFO L272 TraceCheckUtils]: 50: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,637 INFO L290 TraceCheckUtils]: 49: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,638 INFO L290 TraceCheckUtils]: 48: Hoare triple {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,640 INFO L290 TraceCheckUtils]: 47: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27943#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 13:02:51,641 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #86#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,641 INFO L272 TraceCheckUtils]: 42: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,642 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #84#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,642 INFO L290 TraceCheckUtils]: 39: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,642 INFO L290 TraceCheckUtils]: 38: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,642 INFO L272 TraceCheckUtils]: 37: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,643 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {27499#true} {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #82#return; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,643 INFO L290 TraceCheckUtils]: 35: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,643 INFO L290 TraceCheckUtils]: 34: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,643 INFO L290 TraceCheckUtils]: 33: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,643 INFO L272 TraceCheckUtils]: 32: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,644 INFO L290 TraceCheckUtils]: 31: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {27998#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-08 13:02:51,648 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #86#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,648 INFO L272 TraceCheckUtils]: 24: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,649 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #84#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,649 INFO L290 TraceCheckUtils]: 22: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,649 INFO L290 TraceCheckUtils]: 21: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,649 INFO L272 TraceCheckUtils]: 19: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,649 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {27499#true} {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #82#return; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,650 INFO L290 TraceCheckUtils]: 16: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,650 INFO L290 TraceCheckUtils]: 15: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,650 INFO L272 TraceCheckUtils]: 14: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} assume !!(#t~post6 < 20);havoc #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,651 INFO L290 TraceCheckUtils]: 12: Hoare triple {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,654 INFO L290 TraceCheckUtils]: 11: Hoare triple {27499#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {28053#(or (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 8) 2)) main_~r~0 (* (+ (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 13:02:51,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27499#true} {27499#true} #80#return; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {27499#true} assume !(0 == ~cond); {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {27499#true} ~cond := #in~cond; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {27499#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {27499#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {27499#true} call #t~ret8 := main(); {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27499#true} {27499#true} #96#return; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {27499#true} assume true; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {27499#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27499#true} is VALID [2022-04-08 13:02:51,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {27499#true} call ULTIMATE.init(); {27499#true} is VALID [2022-04-08 13:02:51,656 INFO L134 CoverageAnalysis]: Checked inductivity of 431 backedges. 28 proven. 39 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-08 13:02:51,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:02:51,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890555865] [2022-04-08 13:02:51,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:02:51,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2012759823] [2022-04-08 13:02:51,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2012759823] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:02:51,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:02:51,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 21 [2022-04-08 13:02:51,657 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:02:51,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [599972457] [2022-04-08 13:02:51,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [599972457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:02:51,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:02:51,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 13:02:51,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1666987678] [2022-04-08 13:02:51,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:02:51,658 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 13:02:51,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:02:51,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 13:02:51,787 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:02:51,787 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 13:02:51,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:02:51,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 13:02:51,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2022-04-08 13:02:51,788 INFO L87 Difference]: Start difference. First operand 221 states and 247 transitions. Second operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 13:02:56,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:56,707 INFO L93 Difference]: Finished difference Result 280 states and 328 transitions. [2022-04-08 13:02:56,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 13:02:56,707 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) Word has length 104 [2022-04-08 13:02:56,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:02:56,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 13:02:56,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-08 13:02:56,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 13:02:56,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-08 13:02:56,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-08 13:02:56,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:02:56,946 INFO L225 Difference]: With dead ends: 280 [2022-04-08 13:02:56,946 INFO L226 Difference]: Without dead ends: 235 [2022-04-08 13:02:56,947 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 187 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-08 13:02:56,947 INFO L913 BasicCegarLoop]: 61 mSDtfsCounter, 39 mSDsluCounter, 310 mSDsCounter, 0 mSdLazyCounter, 620 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 371 SdHoareTripleChecker+Invalid, 661 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 620 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:02:56,947 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 371 Invalid, 661 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 620 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-08 13:02:56,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-08 13:02:57,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 232. [2022-04-08 13:02:57,270 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:02:57,271 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 13:02:57,271 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 13:02:57,272 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 13:02:57,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:57,276 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-08 13:02:57,276 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-08 13:02:57,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:02:57,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:02:57,277 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-08 13:02:57,277 INFO L87 Difference]: Start difference. First operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 235 states. [2022-04-08 13:02:57,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:02:57,281 INFO L93 Difference]: Finished difference Result 235 states and 266 transitions. [2022-04-08 13:02:57,281 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 266 transitions. [2022-04-08 13:02:57,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:02:57,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:02:57,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:02:57,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:02:57,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 153 states have (on average 1.1241830065359477) internal successors, (172), 158 states have internal predecessors, (172), 46 states have call successors, (46), 33 states have call predecessors, (46), 32 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 13:02:57,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 261 transitions. [2022-04-08 13:02:57,286 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 261 transitions. Word has length 104 [2022-04-08 13:02:57,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:02:57,287 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 261 transitions. [2022-04-08 13:02:57,287 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 12 states have internal predecessors, (31), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 13:02:57,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 261 transitions. [2022-04-08 13:02:59,855 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 260 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:02:59,856 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 261 transitions. [2022-04-08 13:02:59,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 13:02:59,857 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:02:59,857 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:02:59,872 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 13:03:00,057 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:00,058 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:03:00,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:03:00,058 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 15 times [2022-04-08 13:03:00,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:00,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896549452] [2022-04-08 13:03:09,587 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:03:09,587 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:03:09,588 INFO L85 PathProgramCache]: Analyzing trace with hash 979077220, now seen corresponding path program 16 times [2022-04-08 13:03:09,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:03:09,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1176638507] [2022-04-08 13:03:09,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:03:09,588 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:03:09,599 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:03:09,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [682358618] [2022-04-08 13:03:09,600 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:03:09,600 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:09,600 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:03:09,601 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:03:09,602 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-08 13:03:09,656 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:03:09,656 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:03:09,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 13:03:09,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:03:09,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:03:10,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-08 13:03:10,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29641#true} is VALID [2022-04-08 13:03:10,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-08 13:03:10,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,748 INFO L272 TraceCheckUtils]: 14: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,748 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,748 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,751 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,751 INFO L272 TraceCheckUtils]: 19: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,752 INFO L272 TraceCheckUtils]: 24: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,753 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 13:03:10,755 INFO L290 TraceCheckUtils]: 29: Hoare triple {29679#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(#t~post6 < 20);havoc #t~post6; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,756 INFO L272 TraceCheckUtils]: 32: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,756 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,756 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,757 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #82#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,757 INFO L272 TraceCheckUtils]: 37: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,757 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,757 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,757 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,758 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #84#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,758 INFO L272 TraceCheckUtils]: 42: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,758 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,758 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,759 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} #86#return; {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} is VALID [2022-04-08 13:03:10,760 INFO L290 TraceCheckUtils]: 47: Hoare triple {29734#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,760 INFO L290 TraceCheckUtils]: 48: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,761 INFO L290 TraceCheckUtils]: 49: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,761 INFO L272 TraceCheckUtils]: 50: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,761 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,761 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,761 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,761 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #82#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,762 INFO L272 TraceCheckUtils]: 55: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #84#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,762 INFO L272 TraceCheckUtils]: 60: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,762 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,763 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} #86#return; {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,765 INFO L290 TraceCheckUtils]: 65: Hoare triple {29789#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,766 INFO L290 TraceCheckUtils]: 67: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,766 INFO L272 TraceCheckUtils]: 68: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,766 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,766 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,766 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #82#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,767 INFO L272 TraceCheckUtils]: 73: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #84#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,767 INFO L272 TraceCheckUtils]: 78: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,767 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,768 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,768 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,768 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #86#return; {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-08 13:03:10,770 INFO L290 TraceCheckUtils]: 83: Hoare triple {29844#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-08 13:03:10,771 INFO L290 TraceCheckUtils]: 84: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-08 13:03:10,771 INFO L290 TraceCheckUtils]: 85: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} assume !!(#t~post7 < 20);havoc #t~post7; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-08 13:03:10,771 INFO L272 TraceCheckUtils]: 86: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,771 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,771 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,771 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,772 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #88#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-08 13:03:10,772 INFO L272 TraceCheckUtils]: 91: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,772 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,772 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,772 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,773 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} #90#return; {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} is VALID [2022-04-08 13:03:10,774 INFO L290 TraceCheckUtils]: 96: Hoare triple {29899#(and (< (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,775 INFO L290 TraceCheckUtils]: 97: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,775 INFO L290 TraceCheckUtils]: 98: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,776 INFO L290 TraceCheckUtils]: 99: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,776 INFO L272 TraceCheckUtils]: 100: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:10,776 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:10,776 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:10,776 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:10,777 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #88#return; {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-08 13:03:10,777 INFO L272 TraceCheckUtils]: 105: Hoare triple {29939#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:03:10,778 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:03:10,778 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-08 13:03:10,778 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-08 13:03:10,778 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 40 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-08 13:03:10,778 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:03:13,926 INFO L290 TraceCheckUtils]: 108: Hoare triple {29642#false} assume !false; {29642#false} is VALID [2022-04-08 13:03:13,926 INFO L290 TraceCheckUtils]: 107: Hoare triple {29971#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29642#false} is VALID [2022-04-08 13:03:13,927 INFO L290 TraceCheckUtils]: 106: Hoare triple {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29971#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:03:13,927 INFO L272 TraceCheckUtils]: 105: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29967#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:03:13,928 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {29641#true} {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:03:13,928 INFO L290 TraceCheckUtils]: 103: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,928 INFO L290 TraceCheckUtils]: 102: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,928 INFO L290 TraceCheckUtils]: 101: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,928 INFO L272 TraceCheckUtils]: 100: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,928 INFO L290 TraceCheckUtils]: 99: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:03:13,928 INFO L290 TraceCheckUtils]: 98: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:03:13,929 INFO L290 TraceCheckUtils]: 97: Hoare triple {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:03:13,943 INFO L290 TraceCheckUtils]: 96: Hoare triple {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {29987#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:03:13,944 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {29641#true} {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:03:13,944 INFO L290 TraceCheckUtils]: 94: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,944 INFO L290 TraceCheckUtils]: 93: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,944 INFO L290 TraceCheckUtils]: 92: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,944 INFO L272 TraceCheckUtils]: 91: Hoare triple {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,945 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {29641#true} {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:03:13,945 INFO L290 TraceCheckUtils]: 89: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,945 INFO L290 TraceCheckUtils]: 88: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,945 INFO L290 TraceCheckUtils]: 87: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,945 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,946 INFO L290 TraceCheckUtils]: 85: Hoare triple {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 20);havoc #t~post7; {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:03:13,947 INFO L290 TraceCheckUtils]: 84: Hoare triple {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:03:13,948 INFO L290 TraceCheckUtils]: 83: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {30015#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 13:03:13,949 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {29641#true} {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,949 INFO L290 TraceCheckUtils]: 81: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,949 INFO L290 TraceCheckUtils]: 80: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,949 INFO L290 TraceCheckUtils]: 79: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,949 INFO L272 TraceCheckUtils]: 78: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,949 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {29641#true} {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,949 INFO L290 TraceCheckUtils]: 76: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L290 TraceCheckUtils]: 75: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L290 TraceCheckUtils]: 74: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L272 TraceCheckUtils]: 73: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {29641#true} {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,950 INFO L290 TraceCheckUtils]: 71: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L290 TraceCheckUtils]: 70: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L290 TraceCheckUtils]: 69: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,950 INFO L272 TraceCheckUtils]: 68: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,951 INFO L290 TraceCheckUtils]: 67: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 20);havoc #t~post6; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,952 INFO L290 TraceCheckUtils]: 66: Hoare triple {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,956 INFO L290 TraceCheckUtils]: 65: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30055#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 13:03:13,956 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,956 INFO L290 TraceCheckUtils]: 63: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,956 INFO L290 TraceCheckUtils]: 62: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,956 INFO L290 TraceCheckUtils]: 61: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,957 INFO L272 TraceCheckUtils]: 60: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,957 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,957 INFO L290 TraceCheckUtils]: 58: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,957 INFO L290 TraceCheckUtils]: 57: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,957 INFO L290 TraceCheckUtils]: 56: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,957 INFO L272 TraceCheckUtils]: 55: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,958 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,958 INFO L290 TraceCheckUtils]: 52: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,958 INFO L290 TraceCheckUtils]: 51: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,958 INFO L272 TraceCheckUtils]: 50: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,958 INFO L290 TraceCheckUtils]: 49: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 20);havoc #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,959 INFO L290 TraceCheckUtils]: 48: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,960 INFO L290 TraceCheckUtils]: 47: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,961 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,961 INFO L290 TraceCheckUtils]: 45: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,961 INFO L290 TraceCheckUtils]: 44: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,961 INFO L290 TraceCheckUtils]: 43: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,961 INFO L272 TraceCheckUtils]: 42: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,961 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,961 INFO L290 TraceCheckUtils]: 40: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L290 TraceCheckUtils]: 39: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L272 TraceCheckUtils]: 37: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,962 INFO L290 TraceCheckUtils]: 35: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,962 INFO L272 TraceCheckUtils]: 32: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,963 INFO L290 TraceCheckUtils]: 31: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 20);havoc #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,963 INFO L290 TraceCheckUtils]: 30: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,965 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,965 INFO L290 TraceCheckUtils]: 26: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,965 INFO L290 TraceCheckUtils]: 25: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,965 INFO L272 TraceCheckUtils]: 24: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,966 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,966 INFO L290 TraceCheckUtils]: 22: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,966 INFO L272 TraceCheckUtils]: 19: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,966 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {29641#true} {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,967 INFO L272 TraceCheckUtils]: 14: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 20);havoc #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 11: Hoare triple {29641#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {30110#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 13:03:13,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29641#true} {29641#true} #80#return; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {29641#true} assume !(0 == ~cond); {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {29641#true} ~cond := #in~cond; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {29641#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 5: Hoare triple {29641#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L272 TraceCheckUtils]: 4: Hoare triple {29641#true} call #t~ret8 := main(); {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29641#true} {29641#true} #96#return; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {29641#true} assume true; {29641#true} is VALID [2022-04-08 13:03:13,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {29641#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29641#true} is VALID [2022-04-08 13:03:13,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {29641#true} call ULTIMATE.init(); {29641#true} is VALID [2022-04-08 13:03:13,969 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 22 refuted. 0 times theorem prover too weak. 438 trivial. 0 not checked. [2022-04-08 13:03:13,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:03:13,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1176638507] [2022-04-08 13:03:13,969 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:03:13,969 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [682358618] [2022-04-08 13:03:13,969 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [682358618] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:03:13,969 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:03:13,969 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 14 [2022-04-08 13:03:13,970 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:03:13,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1896549452] [2022-04-08 13:03:13,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1896549452] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:03:13,970 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:03:13,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 13:03:13,970 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2018131519] [2022-04-08 13:03:13,970 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:03:13,970 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-08 13:03:13,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:03:13,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:03:14,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:14,074 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 13:03:14,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:14,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 13:03:14,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-08 13:03:14,075 INFO L87 Difference]: Start difference. First operand 232 states and 261 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:03:16,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:16,950 INFO L93 Difference]: Finished difference Result 286 states and 340 transitions. [2022-04-08 13:03:16,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 13:03:16,950 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 109 [2022-04-08 13:03:16,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:03:16,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:03:16,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-08 13:03:16,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:03:16,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 154 transitions. [2022-04-08 13:03:16,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 154 transitions. [2022-04-08 13:03:17,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:17,145 INFO L225 Difference]: With dead ends: 286 [2022-04-08 13:03:17,145 INFO L226 Difference]: Without dead ends: 256 [2022-04-08 13:03:17,146 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 202 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 13:03:17,146 INFO L913 BasicCegarLoop]: 89 mSDtfsCounter, 23 mSDsluCounter, 398 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 487 SdHoareTripleChecker+Invalid, 492 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 13:03:17,146 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 487 Invalid, 492 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 13:03:17,146 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states. [2022-04-08 13:03:17,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 250. [2022-04-08 13:03:17,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:03:17,500 INFO L82 GeneralOperation]: Start isEquivalent. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:03:17,500 INFO L74 IsIncluded]: Start isIncluded. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:03:17,501 INFO L87 Difference]: Start difference. First operand 256 states. Second operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:03:17,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:17,505 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-08 13:03:17,505 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-08 13:03:17,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:17,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:17,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-08 13:03:17,506 INFO L87 Difference]: Start difference. First operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) Second operand 256 states. [2022-04-08 13:03:17,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:03:17,511 INFO L93 Difference]: Finished difference Result 256 states and 294 transitions. [2022-04-08 13:03:17,511 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 294 transitions. [2022-04-08 13:03:17,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:03:17,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:03:17,511 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:03:17,511 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:03:17,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 250 states, 165 states have (on average 1.1333333333333333) internal successors, (187), 172 states have internal predecessors, (187), 51 states have call successors, (51), 34 states have call predecessors, (51), 33 states have return successors, (48), 43 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:03:17,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 250 states to 250 states and 286 transitions. [2022-04-08 13:03:17,517 INFO L78 Accepts]: Start accepts. Automaton has 250 states and 286 transitions. Word has length 109 [2022-04-08 13:03:17,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:03:17,517 INFO L478 AbstractCegarLoop]: Abstraction has 250 states and 286 transitions. [2022-04-08 13:03:17,517 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 9 states have internal predecessors, (31), 7 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:03:17,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 250 states and 286 transitions. [2022-04-08 13:03:19,956 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 285 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:03:19,956 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 286 transitions. [2022-04-08 13:03:19,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 13:03:19,957 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:03:19,957 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:03:19,972 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 13:03:20,169 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:20,170 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:03:20,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:03:20,170 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 3 times [2022-04-08 13:03:20,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:03:20,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [610258114] [2022-04-08 13:03:27,879 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:03:27,879 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:03:27,879 INFO L85 PathProgramCache]: Analyzing trace with hash 1412827450, now seen corresponding path program 4 times [2022-04-08 13:03:27,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:03:27,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1953658425] [2022-04-08 13:03:27,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:03:27,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:03:27,889 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:03:27,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1858794377] [2022-04-08 13:03:27,889 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:03:27,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:03:27,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:03:27,890 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:03:27,933 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-08 13:03:27,960 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:03:27,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:03:27,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 275 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 13:03:27,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:03:27,991 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:03:41,945 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 13:03:42,083 INFO L272 TraceCheckUtils]: 0: Hoare triple {31896#true} call ULTIMATE.init(); {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {31896#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31896#true} {31896#true} #96#return; {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {31896#true} call #t~ret8 := main(); {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {31896#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {31896#true} is VALID [2022-04-08 13:03:42,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {31896#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31896#true} {31896#true} #80#return; {31896#true} is VALID [2022-04-08 13:03:42,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {31896#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,085 INFO L272 TraceCheckUtils]: 14: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,085 INFO L290 TraceCheckUtils]: 17: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,086 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,086 INFO L272 TraceCheckUtils]: 19: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,086 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,087 INFO L272 TraceCheckUtils]: 24: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,087 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {31896#true} {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:03:42,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {31934#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,091 INFO L290 TraceCheckUtils]: 31: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,091 INFO L272 TraceCheckUtils]: 32: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,091 INFO L290 TraceCheckUtils]: 33: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,091 INFO L290 TraceCheckUtils]: 34: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,091 INFO L290 TraceCheckUtils]: 35: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,092 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,092 INFO L272 TraceCheckUtils]: 37: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,092 INFO L290 TraceCheckUtils]: 38: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,093 INFO L290 TraceCheckUtils]: 39: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,093 INFO L290 TraceCheckUtils]: 40: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,094 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,094 INFO L272 TraceCheckUtils]: 42: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,094 INFO L290 TraceCheckUtils]: 43: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,094 INFO L290 TraceCheckUtils]: 44: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,094 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {31896#true} {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 13:03:42,097 INFO L290 TraceCheckUtils]: 47: Hoare triple {31989#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,097 INFO L290 TraceCheckUtils]: 48: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,098 INFO L290 TraceCheckUtils]: 49: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,098 INFO L272 TraceCheckUtils]: 50: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,098 INFO L290 TraceCheckUtils]: 51: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,098 INFO L290 TraceCheckUtils]: 52: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,098 INFO L290 TraceCheckUtils]: 53: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,099 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,099 INFO L272 TraceCheckUtils]: 55: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,099 INFO L290 TraceCheckUtils]: 56: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,099 INFO L290 TraceCheckUtils]: 57: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,099 INFO L290 TraceCheckUtils]: 58: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,099 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,100 INFO L272 TraceCheckUtils]: 60: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,100 INFO L290 TraceCheckUtils]: 61: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,100 INFO L290 TraceCheckUtils]: 63: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,100 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {31896#true} {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,101 INFO L290 TraceCheckUtils]: 65: Hoare triple {32044#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,101 INFO L290 TraceCheckUtils]: 66: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,102 INFO L290 TraceCheckUtils]: 67: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,102 INFO L272 TraceCheckUtils]: 68: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,102 INFO L290 TraceCheckUtils]: 69: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,102 INFO L290 TraceCheckUtils]: 70: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,102 INFO L290 TraceCheckUtils]: 71: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,103 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31896#true} {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,103 INFO L272 TraceCheckUtils]: 73: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,103 INFO L290 TraceCheckUtils]: 74: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,103 INFO L290 TraceCheckUtils]: 75: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,103 INFO L290 TraceCheckUtils]: 76: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,117 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31896#true} {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-08 13:03:42,119 INFO L290 TraceCheckUtils]: 78: Hoare triple {32099#(and (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,123 INFO L290 TraceCheckUtils]: 79: Hoare triple {32139#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,124 INFO L290 TraceCheckUtils]: 80: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,124 INFO L290 TraceCheckUtils]: 81: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} assume !!(#t~post7 < 20);havoc #t~post7; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,125 INFO L272 TraceCheckUtils]: 82: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,125 INFO L290 TraceCheckUtils]: 83: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,125 INFO L290 TraceCheckUtils]: 84: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,125 INFO L290 TraceCheckUtils]: 85: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,125 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #88#return; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,126 INFO L272 TraceCheckUtils]: 87: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,126 INFO L290 TraceCheckUtils]: 88: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,126 INFO L290 TraceCheckUtils]: 89: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,126 INFO L290 TraceCheckUtils]: 90: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,126 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {31896#true} {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} #90#return; {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} is VALID [2022-04-08 13:03:42,133 INFO L290 TraceCheckUtils]: 92: Hoare triple {32143#(and (= main_~q~0 main_~p~0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod (div (* (- 2) main_~d~0) (- 2)) 2) 0) (<= main_~p~0 2))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 13:03:42,144 INFO L290 TraceCheckUtils]: 93: Hoare triple {32183#(and (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2)) (- 2)) 2) 0) (<= main_~q~0 2) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (not (= main_~q~0 1)) (or (and (not (= (mod main_~q~0 2) 0)) (= main_~p~0 (+ (div main_~q~0 2) 1))) (and (= main_~p~0 (div main_~q~0 2)) (= (mod main_~q~0 2) 0))) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-08 13:03:42,146 INFO L290 TraceCheckUtils]: 94: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-08 13:03:42,148 INFO L290 TraceCheckUtils]: 95: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !!(#t~post7 < 20);havoc #t~post7; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-08 13:03:42,148 INFO L272 TraceCheckUtils]: 96: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,148 INFO L290 TraceCheckUtils]: 97: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,148 INFO L290 TraceCheckUtils]: 98: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,148 INFO L290 TraceCheckUtils]: 99: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,149 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #88#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-08 13:03:42,149 INFO L272 TraceCheckUtils]: 101: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {31896#true} is VALID [2022-04-08 13:03:42,149 INFO L290 TraceCheckUtils]: 102: Hoare triple {31896#true} ~cond := #in~cond; {31896#true} is VALID [2022-04-08 13:03:42,149 INFO L290 TraceCheckUtils]: 103: Hoare triple {31896#true} assume !(0 == ~cond); {31896#true} is VALID [2022-04-08 13:03:42,149 INFO L290 TraceCheckUtils]: 104: Hoare triple {31896#true} assume true; {31896#true} is VALID [2022-04-08 13:03:42,150 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {31896#true} {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} #90#return; {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} is VALID [2022-04-08 13:03:42,153 INFO L290 TraceCheckUtils]: 106: Hoare triple {32187#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (or (and (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (and (not (= (mod (+ main_~q~0 main_~p~0) 2) 0)) (= (+ (div (+ main_~q~0 (* (- 1) main_~p~0)) 2) 1) main_~p~0))) (not (= main_~q~0 (+ main_~p~0 1))) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= main_~q~0 (+ main_~p~0 2)))} assume !(1 != ~p~0); {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} is VALID [2022-04-08 13:03:42,193 INFO L272 TraceCheckUtils]: 107: Hoare triple {32227#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (= (mod (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2)) (- 2)) 2) 0) (<= 0 main_~r~0) (= (div (+ (- 1) main_~q~0) 2) 1) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:03:42,194 INFO L290 TraceCheckUtils]: 108: Hoare triple {32231#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32235#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:03:42,194 INFO L290 TraceCheckUtils]: 109: Hoare triple {32235#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31897#false} is VALID [2022-04-08 13:03:42,194 INFO L290 TraceCheckUtils]: 110: Hoare triple {31897#false} assume !false; {31897#false} is VALID [2022-04-08 13:03:42,195 INFO L134 CoverageAnalysis]: Checked inductivity of 484 backedges. 30 proven. 34 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2022-04-08 13:03:42,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:04:14,468 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:04:14,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1953658425] [2022-04-08 13:04:14,468 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:04:14,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1858794377] [2022-04-08 13:04:14,468 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1858794377] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 13:04:14,468 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 13:04:14,468 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-08 13:04:14,469 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:04:14,469 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [610258114] [2022-04-08 13:04:14,469 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [610258114] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:04:14,469 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:04:14,469 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 13:04:14,469 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [172140784] [2022-04-08 13:04:14,469 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:04:14,469 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-08 13:04:14,469 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:04:14,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:04:14,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:14,720 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 13:04:14,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:14,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 13:04:14,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=254, Unknown=0, NotChecked=0, Total=342 [2022-04-08 13:04:14,721 INFO L87 Difference]: Start difference. First operand 250 states and 286 transitions. Second operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:04:22,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:22,470 INFO L93 Difference]: Finished difference Result 258 states and 293 transitions. [2022-04-08 13:04:22,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 13:04:22,470 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 111 [2022-04-08 13:04:22,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:04:22,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:04:22,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-08 13:04:22,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:04:22,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 99 transitions. [2022-04-08 13:04:22,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 99 transitions. [2022-04-08 13:04:22,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:22,736 INFO L225 Difference]: With dead ends: 258 [2022-04-08 13:04:22,736 INFO L226 Difference]: Without dead ends: 210 [2022-04-08 13:04:22,736 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=112, Invalid=350, Unknown=0, NotChecked=0, Total=462 [2022-04-08 13:04:22,736 INFO L913 BasicCegarLoop]: 62 mSDtfsCounter, 9 mSDsluCounter, 375 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 437 SdHoareTripleChecker+Invalid, 488 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 478 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:04:22,737 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 437 Invalid, 488 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 478 Invalid, 0 Unknown, 0 Unchecked, 4.1s Time] [2022-04-08 13:04:22,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-08 13:04:23,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 210. [2022-04-08 13:04:23,004 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:04:23,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:23,005 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:23,005 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:23,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:23,007 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-08 13:04:23,007 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-08 13:04:23,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:23,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:23,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-08 13:04:23,008 INFO L87 Difference]: Start difference. First operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 210 states. [2022-04-08 13:04:23,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:23,011 INFO L93 Difference]: Finished difference Result 210 states and 245 transitions. [2022-04-08 13:04:23,011 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-08 13:04:23,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:23,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:23,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:04:23,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:04:23,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 137 states have (on average 1.1532846715328466) internal successors, (158), 143 states have internal predecessors, (158), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:23,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 245 transitions. [2022-04-08 13:04:23,015 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 245 transitions. Word has length 111 [2022-04-08 13:04:23,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:04:23,015 INFO L478 AbstractCegarLoop]: Abstraction has 210 states and 245 transitions. [2022-04-08 13:04:23,015 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.75) internal successors, (33), 12 states have internal predecessors, (33), 8 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-08 13:04:23,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 210 states and 245 transitions. [2022-04-08 13:04:25,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 244 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:25,412 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 245 transitions. [2022-04-08 13:04:25,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2022-04-08 13:04:25,412 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:04:25,412 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 6, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:04:25,428 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-08 13:04:25,613 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-08 13:04:25,613 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:04:25,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:04:25,613 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 9 times [2022-04-08 13:04:25,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:25,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1093377948] [2022-04-08 13:04:31,474 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:04:31,474 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:04:31,474 INFO L85 PathProgramCache]: Analyzing trace with hash 898486511, now seen corresponding path program 10 times [2022-04-08 13:04:31,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:04:31,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [744081911] [2022-04-08 13:04:31,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:04:31,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:04:31,482 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:04:31,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1257951532] [2022-04-08 13:04:31,482 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 13:04:31,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:04:31,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:04:31,483 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:04:31,484 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-08 13:04:31,537 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 13:04:31,537 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:04:31,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 281 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 13:04:31,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:04:31,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:04:31,962 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-08 13:04:31,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33719#(<= ~counter~0 0)} {33711#true} #96#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {33719#(<= ~counter~0 0)} call #t~ret8 := main(); {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {33719#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {33719#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {33719#(<= ~counter~0 0)} ~cond := #in~cond; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {33719#(<= ~counter~0 0)} assume !(0 == ~cond); {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {33719#(<= ~counter~0 0)} assume true; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33719#(<= ~counter~0 0)} {33719#(<= ~counter~0 0)} #80#return; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {33719#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {33719#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:31,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {33719#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {33753#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,967 INFO L272 TraceCheckUtils]: 14: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,968 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #82#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,969 INFO L272 TraceCheckUtils]: 19: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,969 INFO L290 TraceCheckUtils]: 21: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,970 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #84#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,970 INFO L272 TraceCheckUtils]: 24: Hoare triple {33753#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {33753#(<= ~counter~0 1)} ~cond := #in~cond; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,971 INFO L290 TraceCheckUtils]: 26: Hoare triple {33753#(<= ~counter~0 1)} assume !(0 == ~cond); {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,971 INFO L290 TraceCheckUtils]: 27: Hoare triple {33753#(<= ~counter~0 1)} assume true; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,971 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33753#(<= ~counter~0 1)} {33753#(<= ~counter~0 1)} #86#return; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,972 INFO L290 TraceCheckUtils]: 29: Hoare triple {33753#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33753#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:31,972 INFO L290 TraceCheckUtils]: 30: Hoare triple {33753#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {33808#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,973 INFO L272 TraceCheckUtils]: 32: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,974 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #82#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,974 INFO L272 TraceCheckUtils]: 37: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,975 INFO L290 TraceCheckUtils]: 39: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,975 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #84#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,976 INFO L272 TraceCheckUtils]: 42: Hoare triple {33808#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,976 INFO L290 TraceCheckUtils]: 43: Hoare triple {33808#(<= ~counter~0 2)} ~cond := #in~cond; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {33808#(<= ~counter~0 2)} assume !(0 == ~cond); {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,977 INFO L290 TraceCheckUtils]: 45: Hoare triple {33808#(<= ~counter~0 2)} assume true; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,977 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33808#(<= ~counter~0 2)} {33808#(<= ~counter~0 2)} #86#return; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,977 INFO L290 TraceCheckUtils]: 47: Hoare triple {33808#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33808#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:31,978 INFO L290 TraceCheckUtils]: 48: Hoare triple {33808#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,978 INFO L290 TraceCheckUtils]: 49: Hoare triple {33863#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,978 INFO L272 TraceCheckUtils]: 50: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,979 INFO L290 TraceCheckUtils]: 51: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,979 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #82#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,980 INFO L272 TraceCheckUtils]: 55: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,980 INFO L290 TraceCheckUtils]: 56: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,980 INFO L290 TraceCheckUtils]: 57: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,980 INFO L290 TraceCheckUtils]: 58: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,981 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #84#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,981 INFO L272 TraceCheckUtils]: 60: Hoare triple {33863#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,982 INFO L290 TraceCheckUtils]: 61: Hoare triple {33863#(<= ~counter~0 3)} ~cond := #in~cond; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,982 INFO L290 TraceCheckUtils]: 62: Hoare triple {33863#(<= ~counter~0 3)} assume !(0 == ~cond); {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,982 INFO L290 TraceCheckUtils]: 63: Hoare triple {33863#(<= ~counter~0 3)} assume true; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,982 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33863#(<= ~counter~0 3)} {33863#(<= ~counter~0 3)} #86#return; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,983 INFO L290 TraceCheckUtils]: 65: Hoare triple {33863#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33863#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:31,983 INFO L290 TraceCheckUtils]: 66: Hoare triple {33863#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,983 INFO L290 TraceCheckUtils]: 67: Hoare triple {33918#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,984 INFO L272 TraceCheckUtils]: 68: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,984 INFO L290 TraceCheckUtils]: 69: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,985 INFO L290 TraceCheckUtils]: 71: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,985 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #82#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,985 INFO L272 TraceCheckUtils]: 73: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,986 INFO L290 TraceCheckUtils]: 74: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,986 INFO L290 TraceCheckUtils]: 75: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,986 INFO L290 TraceCheckUtils]: 76: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,986 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #84#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,987 INFO L272 TraceCheckUtils]: 78: Hoare triple {33918#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,987 INFO L290 TraceCheckUtils]: 79: Hoare triple {33918#(<= ~counter~0 4)} ~cond := #in~cond; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,987 INFO L290 TraceCheckUtils]: 80: Hoare triple {33918#(<= ~counter~0 4)} assume !(0 == ~cond); {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,988 INFO L290 TraceCheckUtils]: 81: Hoare triple {33918#(<= ~counter~0 4)} assume true; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,988 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33918#(<= ~counter~0 4)} {33918#(<= ~counter~0 4)} #86#return; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,988 INFO L290 TraceCheckUtils]: 83: Hoare triple {33918#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33918#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:31,989 INFO L290 TraceCheckUtils]: 84: Hoare triple {33918#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,989 INFO L290 TraceCheckUtils]: 85: Hoare triple {33973#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,989 INFO L272 TraceCheckUtils]: 86: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,990 INFO L290 TraceCheckUtils]: 87: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,990 INFO L290 TraceCheckUtils]: 88: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,990 INFO L290 TraceCheckUtils]: 89: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,990 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #82#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,991 INFO L272 TraceCheckUtils]: 91: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,991 INFO L290 TraceCheckUtils]: 92: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,991 INFO L290 TraceCheckUtils]: 93: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,992 INFO L290 TraceCheckUtils]: 94: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,992 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #84#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,992 INFO L272 TraceCheckUtils]: 96: Hoare triple {33973#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,993 INFO L290 TraceCheckUtils]: 97: Hoare triple {33973#(<= ~counter~0 5)} ~cond := #in~cond; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,993 INFO L290 TraceCheckUtils]: 98: Hoare triple {33973#(<= ~counter~0 5)} assume !(0 == ~cond); {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,993 INFO L290 TraceCheckUtils]: 99: Hoare triple {33973#(<= ~counter~0 5)} assume true; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,994 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33973#(<= ~counter~0 5)} {33973#(<= ~counter~0 5)} #86#return; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,994 INFO L290 TraceCheckUtils]: 101: Hoare triple {33973#(<= ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {33973#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:31,994 INFO L290 TraceCheckUtils]: 102: Hoare triple {33973#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34028#(<= |main_#t~post6| 5)} is VALID [2022-04-08 13:04:31,994 INFO L290 TraceCheckUtils]: 103: Hoare triple {34028#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 20);havoc #t~post7; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 107: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 108: Hoare triple {33712#false} assume !(0 == ~cond); {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 109: Hoare triple {33712#false} assume true; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33712#false} {33712#false} #92#return; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-08 13:04:31,995 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-08 13:04:31,996 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 90 proven. 430 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-08 13:04:31,996 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:04:32,409 INFO L290 TraceCheckUtils]: 114: Hoare triple {33712#false} assume !false; {33712#false} is VALID [2022-04-08 13:04:32,409 INFO L290 TraceCheckUtils]: 113: Hoare triple {33712#false} assume 0 == ~cond; {33712#false} is VALID [2022-04-08 13:04:32,409 INFO L290 TraceCheckUtils]: 112: Hoare triple {33712#false} ~cond := #in~cond; {33712#false} is VALID [2022-04-08 13:04:32,409 INFO L272 TraceCheckUtils]: 111: Hoare triple {33712#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {33712#false} is VALID [2022-04-08 13:04:32,409 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {33711#true} {33712#false} #92#return; {33712#false} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 109: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 108: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 107: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,410 INFO L272 TraceCheckUtils]: 106: Hoare triple {33712#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 105: Hoare triple {33712#false} assume !(#t~post7 < 20);havoc #t~post7; {33712#false} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 104: Hoare triple {33712#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {33712#false} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 103: Hoare triple {34098#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {33712#false} is VALID [2022-04-08 13:04:32,410 INFO L290 TraceCheckUtils]: 102: Hoare triple {34102#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34098#(< |main_#t~post6| 20)} is VALID [2022-04-08 13:04:32,411 INFO L290 TraceCheckUtils]: 101: Hoare triple {34102#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,411 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {33711#true} {34102#(< ~counter~0 20)} #86#return; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,411 INFO L290 TraceCheckUtils]: 99: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,411 INFO L290 TraceCheckUtils]: 98: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,411 INFO L290 TraceCheckUtils]: 97: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,411 INFO L272 TraceCheckUtils]: 96: Hoare triple {34102#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {33711#true} {34102#(< ~counter~0 20)} #84#return; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 94: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 93: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 92: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L272 TraceCheckUtils]: 91: Hoare triple {34102#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {33711#true} {34102#(< ~counter~0 20)} #82#return; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 89: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 88: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L290 TraceCheckUtils]: 87: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,412 INFO L272 TraceCheckUtils]: 86: Hoare triple {34102#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,413 INFO L290 TraceCheckUtils]: 85: Hoare triple {34102#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,414 INFO L290 TraceCheckUtils]: 84: Hoare triple {34157#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34102#(< ~counter~0 20)} is VALID [2022-04-08 13:04:32,414 INFO L290 TraceCheckUtils]: 83: Hoare triple {34157#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,414 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {33711#true} {34157#(< ~counter~0 19)} #86#return; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,414 INFO L290 TraceCheckUtils]: 81: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,414 INFO L290 TraceCheckUtils]: 80: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,414 INFO L290 TraceCheckUtils]: 79: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,414 INFO L272 TraceCheckUtils]: 78: Hoare triple {34157#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,415 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {33711#true} {34157#(< ~counter~0 19)} #84#return; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,415 INFO L290 TraceCheckUtils]: 76: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,415 INFO L290 TraceCheckUtils]: 75: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,415 INFO L290 TraceCheckUtils]: 74: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,415 INFO L272 TraceCheckUtils]: 73: Hoare triple {34157#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,415 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {33711#true} {34157#(< ~counter~0 19)} #82#return; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,415 INFO L290 TraceCheckUtils]: 71: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,416 INFO L290 TraceCheckUtils]: 70: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,416 INFO L290 TraceCheckUtils]: 69: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,416 INFO L272 TraceCheckUtils]: 68: Hoare triple {34157#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,416 INFO L290 TraceCheckUtils]: 67: Hoare triple {34157#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,416 INFO L290 TraceCheckUtils]: 66: Hoare triple {34212#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34157#(< ~counter~0 19)} is VALID [2022-04-08 13:04:32,417 INFO L290 TraceCheckUtils]: 65: Hoare triple {34212#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,417 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {33711#true} {34212#(< ~counter~0 18)} #86#return; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,417 INFO L290 TraceCheckUtils]: 63: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,417 INFO L290 TraceCheckUtils]: 62: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,417 INFO L290 TraceCheckUtils]: 61: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,417 INFO L272 TraceCheckUtils]: 60: Hoare triple {34212#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {33711#true} {34212#(< ~counter~0 18)} #84#return; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 58: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 57: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 56: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L272 TraceCheckUtils]: 55: Hoare triple {34212#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {33711#true} {34212#(< ~counter~0 18)} #82#return; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 53: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 52: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L290 TraceCheckUtils]: 51: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,418 INFO L272 TraceCheckUtils]: 50: Hoare triple {34212#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,419 INFO L290 TraceCheckUtils]: 49: Hoare triple {34212#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,419 INFO L290 TraceCheckUtils]: 48: Hoare triple {34267#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34212#(< ~counter~0 18)} is VALID [2022-04-08 13:04:32,419 INFO L290 TraceCheckUtils]: 47: Hoare triple {34267#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,420 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {33711#true} {34267#(< ~counter~0 17)} #86#return; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,420 INFO L290 TraceCheckUtils]: 45: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,420 INFO L290 TraceCheckUtils]: 44: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,420 INFO L290 TraceCheckUtils]: 43: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,420 INFO L272 TraceCheckUtils]: 42: Hoare triple {34267#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,420 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {33711#true} {34267#(< ~counter~0 17)} #84#return; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,420 INFO L290 TraceCheckUtils]: 40: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 38: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L272 TraceCheckUtils]: 37: Hoare triple {34267#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {33711#true} {34267#(< ~counter~0 17)} #82#return; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 34: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 33: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L272 TraceCheckUtils]: 32: Hoare triple {34267#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {34267#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,422 INFO L290 TraceCheckUtils]: 30: Hoare triple {34322#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34267#(< ~counter~0 17)} is VALID [2022-04-08 13:04:32,422 INFO L290 TraceCheckUtils]: 29: Hoare triple {34322#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,423 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {33711#true} {34322#(< ~counter~0 16)} #86#return; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 25: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L272 TraceCheckUtils]: 24: Hoare triple {34322#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {33711#true} {34322#(< ~counter~0 16)} #84#return; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,423 INFO L272 TraceCheckUtils]: 19: Hoare triple {34322#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,425 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {33711#true} {34322#(< ~counter~0 16)} #82#return; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,425 INFO L290 TraceCheckUtils]: 17: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,425 INFO L272 TraceCheckUtils]: 14: Hoare triple {34322#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {34322#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {34377#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34322#(< ~counter~0 16)} is VALID [2022-04-08 13:04:32,426 INFO L290 TraceCheckUtils]: 11: Hoare triple {34377#(< ~counter~0 15)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,427 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33711#true} {34377#(< ~counter~0 15)} #80#return; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {33711#true} assume true; {33711#true} is VALID [2022-04-08 13:04:32,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {33711#true} assume !(0 == ~cond); {33711#true} is VALID [2022-04-08 13:04:32,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {33711#true} ~cond := #in~cond; {33711#true} is VALID [2022-04-08 13:04:32,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {34377#(< ~counter~0 15)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {33711#true} is VALID [2022-04-08 13:04:32,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {34377#(< ~counter~0 15)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {34377#(< ~counter~0 15)} call #t~ret8 := main(); {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34377#(< ~counter~0 15)} {33711#true} #96#return; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {34377#(< ~counter~0 15)} assume true; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {33711#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34377#(< ~counter~0 15)} is VALID [2022-04-08 13:04:32,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {33711#true} call ULTIMATE.init(); {33711#true} is VALID [2022-04-08 13:04:32,429 INFO L134 CoverageAnalysis]: Checked inductivity of 582 backedges. 32 proven. 70 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-08 13:04:32,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:04:32,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [744081911] [2022-04-08 13:04:32,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:04:32,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1257951532] [2022-04-08 13:04:32,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1257951532] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:04:32,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:04:32,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 13:04:32,429 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:04:32,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1093377948] [2022-04-08 13:04:32,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1093377948] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:04:32,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:04:32,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 13:04:32,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [359298686] [2022-04-08 13:04:32,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:04:32,430 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-08 13:04:32,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:04:32,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:32,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:32,529 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 13:04:32,529 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:32,529 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 13:04:32,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-08 13:04:32,529 INFO L87 Difference]: Start difference. First operand 210 states and 245 transitions. Second operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:33,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:33,231 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-08 13:04:33,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 13:04:33,231 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 115 [2022-04-08 13:04:33,231 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:04:33,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:33,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-08 13:04:33,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:33,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 135 transitions. [2022-04-08 13:04:33,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 135 transitions. [2022-04-08 13:04:33,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:33,366 INFO L225 Difference]: With dead ends: 255 [2022-04-08 13:04:33,366 INFO L226 Difference]: Without dead ends: 212 [2022-04-08 13:04:33,366 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 234 GetRequests, 215 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=171, Invalid=249, Unknown=0, NotChecked=0, Total=420 [2022-04-08 13:04:33,367 INFO L913 BasicCegarLoop]: 56 mSDtfsCounter, 15 mSDsluCounter, 179 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 13:04:33,367 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 235 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 13:04:33,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-08 13:04:33,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-08 13:04:33,629 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:04:33,629 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:33,629 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:33,630 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:33,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:33,633 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-08 13:04:33,634 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-08 13:04:33,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:33,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:33,635 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-08 13:04:33,635 INFO L87 Difference]: Start difference. First operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 212 states. [2022-04-08 13:04:33,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:33,638 INFO L93 Difference]: Finished difference Result 212 states and 247 transitions. [2022-04-08 13:04:33,638 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-08 13:04:33,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:33,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:33,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:04:33,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:04:33,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 139 states have (on average 1.1510791366906474) internal successors, (160), 145 states have internal predecessors, (160), 45 states have call successors, (45), 28 states have call predecessors, (45), 27 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-08 13:04:33,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 247 transitions. [2022-04-08 13:04:33,642 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 247 transitions. Word has length 115 [2022-04-08 13:04:33,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:04:33,642 INFO L478 AbstractCegarLoop]: Abstraction has 212 states and 247 transitions. [2022-04-08 13:04:33,642 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.111111111111111) internal successors, (46), 8 states have internal predecessors, (46), 8 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:33,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 247 transitions. [2022-04-08 13:04:36,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 246 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:36,140 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 247 transitions. [2022-04-08 13:04:36,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-08 13:04:36,140 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:04:36,141 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:04:36,156 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-08 13:04:36,341 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-08 13:04:36,341 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:04:36,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:04:36,341 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 7 times [2022-04-08 13:04:36,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:36,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2033554645] [2022-04-08 13:04:44,494 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:04:44,495 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:04:44,495 INFO L85 PathProgramCache]: Analyzing trace with hash 1562534599, now seen corresponding path program 8 times [2022-04-08 13:04:44,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:04:44,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1573730720] [2022-04-08 13:04:44,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:04:44,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:04:44,504 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:04:44,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [322078994] [2022-04-08 13:04:44,504 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 13:04:44,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:04:44,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:04:44,505 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:04:44,506 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-08 13:04:44,561 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 13:04:44,561 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:04:44,562 INFO L263 TraceCheckSpWp]: Trace formula consists of 292 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 13:04:44,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:04:44,583 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:04:45,020 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-08 13:04:45,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35792#(<= ~counter~0 0)} {35784#true} #96#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {35792#(<= ~counter~0 0)} call #t~ret8 := main(); {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {35792#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {35792#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {35792#(<= ~counter~0 0)} ~cond := #in~cond; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {35792#(<= ~counter~0 0)} assume !(0 == ~cond); {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {35792#(<= ~counter~0 0)} assume true; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35792#(<= ~counter~0 0)} {35792#(<= ~counter~0 0)} #80#return; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {35792#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {35792#(<= ~counter~0 0)} is VALID [2022-04-08 13:04:45,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {35792#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {35826#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,025 INFO L272 TraceCheckUtils]: 14: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,029 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #82#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,030 INFO L272 TraceCheckUtils]: 19: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,054 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #84#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,054 INFO L272 TraceCheckUtils]: 24: Hoare triple {35826#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {35826#(<= ~counter~0 1)} ~cond := #in~cond; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {35826#(<= ~counter~0 1)} assume !(0 == ~cond); {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {35826#(<= ~counter~0 1)} assume true; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,056 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35826#(<= ~counter~0 1)} {35826#(<= ~counter~0 1)} #86#return; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,056 INFO L290 TraceCheckUtils]: 29: Hoare triple {35826#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35826#(<= ~counter~0 1)} is VALID [2022-04-08 13:04:45,057 INFO L290 TraceCheckUtils]: 30: Hoare triple {35826#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,057 INFO L290 TraceCheckUtils]: 31: Hoare triple {35881#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,058 INFO L272 TraceCheckUtils]: 32: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,058 INFO L290 TraceCheckUtils]: 33: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,059 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #82#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,060 INFO L272 TraceCheckUtils]: 37: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,060 INFO L290 TraceCheckUtils]: 38: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,060 INFO L290 TraceCheckUtils]: 39: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,061 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #84#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,062 INFO L272 TraceCheckUtils]: 42: Hoare triple {35881#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,062 INFO L290 TraceCheckUtils]: 43: Hoare triple {35881#(<= ~counter~0 2)} ~cond := #in~cond; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,062 INFO L290 TraceCheckUtils]: 44: Hoare triple {35881#(<= ~counter~0 2)} assume !(0 == ~cond); {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,063 INFO L290 TraceCheckUtils]: 45: Hoare triple {35881#(<= ~counter~0 2)} assume true; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,063 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35881#(<= ~counter~0 2)} {35881#(<= ~counter~0 2)} #86#return; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {35881#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35881#(<= ~counter~0 2)} is VALID [2022-04-08 13:04:45,064 INFO L290 TraceCheckUtils]: 48: Hoare triple {35881#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,065 INFO L290 TraceCheckUtils]: 49: Hoare triple {35936#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,065 INFO L272 TraceCheckUtils]: 50: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,065 INFO L290 TraceCheckUtils]: 51: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,066 INFO L290 TraceCheckUtils]: 52: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,066 INFO L290 TraceCheckUtils]: 53: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,067 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #82#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,067 INFO L272 TraceCheckUtils]: 55: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,067 INFO L290 TraceCheckUtils]: 56: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,068 INFO L290 TraceCheckUtils]: 57: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,068 INFO L290 TraceCheckUtils]: 58: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,068 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #84#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,069 INFO L272 TraceCheckUtils]: 60: Hoare triple {35936#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,069 INFO L290 TraceCheckUtils]: 61: Hoare triple {35936#(<= ~counter~0 3)} ~cond := #in~cond; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,070 INFO L290 TraceCheckUtils]: 62: Hoare triple {35936#(<= ~counter~0 3)} assume !(0 == ~cond); {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,070 INFO L290 TraceCheckUtils]: 63: Hoare triple {35936#(<= ~counter~0 3)} assume true; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,070 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35936#(<= ~counter~0 3)} {35936#(<= ~counter~0 3)} #86#return; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,071 INFO L290 TraceCheckUtils]: 65: Hoare triple {35936#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {35936#(<= ~counter~0 3)} is VALID [2022-04-08 13:04:45,072 INFO L290 TraceCheckUtils]: 66: Hoare triple {35936#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,072 INFO L290 TraceCheckUtils]: 67: Hoare triple {35991#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,072 INFO L272 TraceCheckUtils]: 68: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,073 INFO L290 TraceCheckUtils]: 69: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,073 INFO L290 TraceCheckUtils]: 70: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,073 INFO L290 TraceCheckUtils]: 71: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,074 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #82#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,074 INFO L272 TraceCheckUtils]: 73: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,075 INFO L290 TraceCheckUtils]: 74: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,075 INFO L290 TraceCheckUtils]: 75: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,075 INFO L290 TraceCheckUtils]: 76: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,076 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #84#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,076 INFO L272 TraceCheckUtils]: 78: Hoare triple {35991#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,076 INFO L290 TraceCheckUtils]: 79: Hoare triple {35991#(<= ~counter~0 4)} ~cond := #in~cond; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,077 INFO L290 TraceCheckUtils]: 80: Hoare triple {35991#(<= ~counter~0 4)} assume !(0 == ~cond); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,077 INFO L290 TraceCheckUtils]: 81: Hoare triple {35991#(<= ~counter~0 4)} assume true; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,078 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35991#(<= ~counter~0 4)} {35991#(<= ~counter~0 4)} #86#return; {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,078 INFO L290 TraceCheckUtils]: 83: Hoare triple {35991#(<= ~counter~0 4)} assume !(~r~0 >= ~d~0); {35991#(<= ~counter~0 4)} is VALID [2022-04-08 13:04:45,079 INFO L290 TraceCheckUtils]: 84: Hoare triple {35991#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,079 INFO L290 TraceCheckUtils]: 85: Hoare triple {36046#(<= ~counter~0 5)} assume !!(#t~post7 < 20);havoc #t~post7; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,080 INFO L272 TraceCheckUtils]: 86: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,080 INFO L290 TraceCheckUtils]: 87: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,080 INFO L290 TraceCheckUtils]: 88: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,080 INFO L290 TraceCheckUtils]: 89: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,081 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #88#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,082 INFO L272 TraceCheckUtils]: 91: Hoare triple {36046#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,082 INFO L290 TraceCheckUtils]: 92: Hoare triple {36046#(<= ~counter~0 5)} ~cond := #in~cond; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,082 INFO L290 TraceCheckUtils]: 93: Hoare triple {36046#(<= ~counter~0 5)} assume !(0 == ~cond); {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,082 INFO L290 TraceCheckUtils]: 94: Hoare triple {36046#(<= ~counter~0 5)} assume true; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,083 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {36046#(<= ~counter~0 5)} {36046#(<= ~counter~0 5)} #90#return; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,083 INFO L290 TraceCheckUtils]: 96: Hoare triple {36046#(<= ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,083 INFO L290 TraceCheckUtils]: 97: Hoare triple {36046#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36046#(<= ~counter~0 5)} is VALID [2022-04-08 13:04:45,084 INFO L290 TraceCheckUtils]: 98: Hoare triple {36046#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,084 INFO L290 TraceCheckUtils]: 99: Hoare triple {36089#(<= ~counter~0 6)} assume !!(#t~post7 < 20);havoc #t~post7; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,085 INFO L272 TraceCheckUtils]: 100: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,085 INFO L290 TraceCheckUtils]: 101: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,085 INFO L290 TraceCheckUtils]: 102: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,086 INFO L290 TraceCheckUtils]: 103: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,086 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #88#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,087 INFO L272 TraceCheckUtils]: 105: Hoare triple {36089#(<= ~counter~0 6)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,087 INFO L290 TraceCheckUtils]: 106: Hoare triple {36089#(<= ~counter~0 6)} ~cond := #in~cond; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,087 INFO L290 TraceCheckUtils]: 107: Hoare triple {36089#(<= ~counter~0 6)} assume !(0 == ~cond); {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,087 INFO L290 TraceCheckUtils]: 108: Hoare triple {36089#(<= ~counter~0 6)} assume true; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,088 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {36089#(<= ~counter~0 6)} {36089#(<= ~counter~0 6)} #90#return; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,088 INFO L290 TraceCheckUtils]: 110: Hoare triple {36089#(<= ~counter~0 6)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,088 INFO L290 TraceCheckUtils]: 111: Hoare triple {36089#(<= ~counter~0 6)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36089#(<= ~counter~0 6)} is VALID [2022-04-08 13:04:45,089 INFO L290 TraceCheckUtils]: 112: Hoare triple {36089#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36132#(<= |main_#t~post7| 6)} is VALID [2022-04-08 13:04:45,089 INFO L290 TraceCheckUtils]: 113: Hoare triple {36132#(<= |main_#t~post7| 6)} assume !(#t~post7 < 20);havoc #t~post7; {35785#false} is VALID [2022-04-08 13:04:45,089 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-08 13:04:45,089 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-08 13:04:45,089 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-08 13:04:45,089 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-08 13:04:45,090 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 470 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-08 13:04:45,090 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:04:45,552 INFO L290 TraceCheckUtils]: 117: Hoare triple {35785#false} assume !false; {35785#false} is VALID [2022-04-08 13:04:45,552 INFO L290 TraceCheckUtils]: 116: Hoare triple {35785#false} assume 0 == ~cond; {35785#false} is VALID [2022-04-08 13:04:45,552 INFO L290 TraceCheckUtils]: 115: Hoare triple {35785#false} ~cond := #in~cond; {35785#false} is VALID [2022-04-08 13:04:45,552 INFO L272 TraceCheckUtils]: 114: Hoare triple {35785#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35785#false} is VALID [2022-04-08 13:04:45,553 INFO L290 TraceCheckUtils]: 113: Hoare triple {36160#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {35785#false} is VALID [2022-04-08 13:04:45,553 INFO L290 TraceCheckUtils]: 112: Hoare triple {36164#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36160#(< |main_#t~post7| 20)} is VALID [2022-04-08 13:04:45,553 INFO L290 TraceCheckUtils]: 111: Hoare triple {36164#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,554 INFO L290 TraceCheckUtils]: 110: Hoare triple {36164#(< ~counter~0 20)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,554 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {35784#true} {36164#(< ~counter~0 20)} #90#return; {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,554 INFO L290 TraceCheckUtils]: 108: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,554 INFO L290 TraceCheckUtils]: 107: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,554 INFO L290 TraceCheckUtils]: 106: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,554 INFO L272 TraceCheckUtils]: 105: Hoare triple {36164#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,555 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {35784#true} {36164#(< ~counter~0 20)} #88#return; {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,555 INFO L290 TraceCheckUtils]: 103: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,555 INFO L290 TraceCheckUtils]: 102: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,555 INFO L290 TraceCheckUtils]: 101: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,555 INFO L272 TraceCheckUtils]: 100: Hoare triple {36164#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,556 INFO L290 TraceCheckUtils]: 99: Hoare triple {36164#(< ~counter~0 20)} assume !!(#t~post7 < 20);havoc #t~post7; {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,557 INFO L290 TraceCheckUtils]: 98: Hoare triple {36207#(< ~counter~0 19)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36164#(< ~counter~0 20)} is VALID [2022-04-08 13:04:45,557 INFO L290 TraceCheckUtils]: 97: Hoare triple {36207#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,557 INFO L290 TraceCheckUtils]: 96: Hoare triple {36207#(< ~counter~0 19)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,557 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {35784#true} {36207#(< ~counter~0 19)} #90#return; {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 94: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 93: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 92: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L272 TraceCheckUtils]: 91: Hoare triple {36207#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {35784#true} {36207#(< ~counter~0 19)} #88#return; {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 89: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 88: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L290 TraceCheckUtils]: 87: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,558 INFO L272 TraceCheckUtils]: 86: Hoare triple {36207#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,559 INFO L290 TraceCheckUtils]: 85: Hoare triple {36207#(< ~counter~0 19)} assume !!(#t~post7 < 20);havoc #t~post7; {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,559 INFO L290 TraceCheckUtils]: 84: Hoare triple {36250#(< ~counter~0 18)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {36207#(< ~counter~0 19)} is VALID [2022-04-08 13:04:45,559 INFO L290 TraceCheckUtils]: 83: Hoare triple {36250#(< ~counter~0 18)} assume !(~r~0 >= ~d~0); {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,560 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {35784#true} {36250#(< ~counter~0 18)} #86#return; {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,560 INFO L290 TraceCheckUtils]: 81: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,560 INFO L290 TraceCheckUtils]: 80: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,560 INFO L290 TraceCheckUtils]: 79: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,560 INFO L272 TraceCheckUtils]: 78: Hoare triple {36250#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,560 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {35784#true} {36250#(< ~counter~0 18)} #84#return; {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 76: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 75: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 74: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L272 TraceCheckUtils]: 73: Hoare triple {36250#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {35784#true} {36250#(< ~counter~0 18)} #82#return; {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 71: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 70: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 69: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L272 TraceCheckUtils]: 68: Hoare triple {36250#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,561 INFO L290 TraceCheckUtils]: 67: Hoare triple {36250#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,562 INFO L290 TraceCheckUtils]: 66: Hoare triple {36305#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36250#(< ~counter~0 18)} is VALID [2022-04-08 13:04:45,562 INFO L290 TraceCheckUtils]: 65: Hoare triple {36305#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,563 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35784#true} {36305#(< ~counter~0 17)} #86#return; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,563 INFO L290 TraceCheckUtils]: 63: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,563 INFO L290 TraceCheckUtils]: 62: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,563 INFO L290 TraceCheckUtils]: 61: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,563 INFO L272 TraceCheckUtils]: 60: Hoare triple {36305#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,563 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35784#true} {36305#(< ~counter~0 17)} #84#return; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,563 INFO L290 TraceCheckUtils]: 58: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L272 TraceCheckUtils]: 55: Hoare triple {36305#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {35784#true} {36305#(< ~counter~0 17)} #82#return; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,564 INFO L290 TraceCheckUtils]: 53: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L290 TraceCheckUtils]: 52: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L290 TraceCheckUtils]: 51: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L272 TraceCheckUtils]: 50: Hoare triple {36305#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,564 INFO L290 TraceCheckUtils]: 49: Hoare triple {36305#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,565 INFO L290 TraceCheckUtils]: 48: Hoare triple {36360#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36305#(< ~counter~0 17)} is VALID [2022-04-08 13:04:45,565 INFO L290 TraceCheckUtils]: 47: Hoare triple {36360#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,566 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {35784#true} {36360#(< ~counter~0 16)} #86#return; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 45: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 44: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 43: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L272 TraceCheckUtils]: 42: Hoare triple {36360#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {35784#true} {36360#(< ~counter~0 16)} #84#return; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 40: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 39: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,566 INFO L272 TraceCheckUtils]: 37: Hoare triple {36360#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,567 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {35784#true} {36360#(< ~counter~0 16)} #82#return; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,567 INFO L290 TraceCheckUtils]: 34: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,567 INFO L290 TraceCheckUtils]: 33: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,567 INFO L272 TraceCheckUtils]: 32: Hoare triple {36360#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {36360#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,568 INFO L290 TraceCheckUtils]: 30: Hoare triple {36415#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36360#(< ~counter~0 16)} is VALID [2022-04-08 13:04:45,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {36415#(< ~counter~0 15)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,568 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {35784#true} {36415#(< ~counter~0 15)} #86#return; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L272 TraceCheckUtils]: 24: Hoare triple {36415#(< ~counter~0 15)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {35784#true} {36415#(< ~counter~0 15)} #84#return; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,569 INFO L290 TraceCheckUtils]: 22: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,569 INFO L272 TraceCheckUtils]: 19: Hoare triple {36415#(< ~counter~0 15)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,570 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {35784#true} {36415#(< ~counter~0 15)} #82#return; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,570 INFO L272 TraceCheckUtils]: 14: Hoare triple {36415#(< ~counter~0 15)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {36415#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {36470#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {36415#(< ~counter~0 15)} is VALID [2022-04-08 13:04:45,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {36470#(< ~counter~0 14)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,571 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35784#true} {36470#(< ~counter~0 14)} #80#return; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {35784#true} assume true; {35784#true} is VALID [2022-04-08 13:04:45,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {35784#true} assume !(0 == ~cond); {35784#true} is VALID [2022-04-08 13:04:45,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {35784#true} ~cond := #in~cond; {35784#true} is VALID [2022-04-08 13:04:45,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {36470#(< ~counter~0 14)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {35784#true} is VALID [2022-04-08 13:04:45,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {36470#(< ~counter~0 14)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {36470#(< ~counter~0 14)} call #t~ret8 := main(); {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36470#(< ~counter~0 14)} {35784#true} #96#return; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {36470#(< ~counter~0 14)} assume true; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {35784#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {36470#(< ~counter~0 14)} is VALID [2022-04-08 13:04:45,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {35784#true} call ULTIMATE.init(); {35784#true} is VALID [2022-04-08 13:04:45,573 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 32 proven. 46 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-08 13:04:45,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 13:04:45,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1573730720] [2022-04-08 13:04:45,573 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 13:04:45,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [322078994] [2022-04-08 13:04:45,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [322078994] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 13:04:45,574 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 13:04:45,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2022-04-08 13:04:45,574 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 13:04:45,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2033554645] [2022-04-08 13:04:45,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2033554645] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 13:04:45,574 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 13:04:45,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 13:04:45,574 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200552223] [2022-04-08 13:04:45,574 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 13:04:45,574 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-08 13:04:45,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 13:04:45,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:45,658 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 13:04:45,658 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 13:04:45,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:45,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 13:04:45,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=181, Unknown=0, NotChecked=0, Total=306 [2022-04-08 13:04:45,659 INFO L87 Difference]: Start difference. First operand 212 states and 247 transitions. Second operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:46,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:46,581 INFO L93 Difference]: Finished difference Result 272 states and 312 transitions. [2022-04-08 13:04:46,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 13:04:46,581 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 118 [2022-04-08 13:04:46,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 13:04:46,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:46,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-08 13:04:46,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:46,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 152 transitions. [2022-04-08 13:04:46,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 152 transitions. [2022-04-08 13:04:46,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:46,746 INFO L225 Difference]: With dead ends: 272 [2022-04-08 13:04:46,746 INFO L226 Difference]: Without dead ends: 257 [2022-04-08 13:04:46,746 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 219 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=151, Invalid=229, Unknown=0, NotChecked=0, Total=380 [2022-04-08 13:04:46,747 INFO L913 BasicCegarLoop]: 64 mSDtfsCounter, 50 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 225 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 13:04:46,747 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 225 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 13:04:46,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-08 13:04:47,068 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 254. [2022-04-08 13:04:47,068 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 13:04:47,069 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:04:47,069 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:04:47,069 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:04:47,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:47,073 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-08 13:04:47,073 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-08 13:04:47,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:47,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:47,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-08 13:04:47,073 INFO L87 Difference]: Start difference. First operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 257 states. [2022-04-08 13:04:47,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 13:04:47,077 INFO L93 Difference]: Finished difference Result 257 states and 292 transitions. [2022-04-08 13:04:47,077 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 292 transitions. [2022-04-08 13:04:47,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 13:04:47,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 13:04:47,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 13:04:47,077 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 13:04:47,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 168 states have (on average 1.130952380952381) internal successors, (190), 174 states have internal predecessors, (190), 52 states have call successors, (52), 35 states have call predecessors, (52), 33 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-08 13:04:47,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 290 transitions. [2022-04-08 13:04:47,081 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 290 transitions. Word has length 118 [2022-04-08 13:04:47,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 13:04:47,081 INFO L478 AbstractCegarLoop]: Abstraction has 254 states and 290 transitions. [2022-04-08 13:04:47,082 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.0) internal successors, (50), 9 states have internal predecessors, (50), 9 states have call successors, (20), 9 states have call predecessors, (20), 7 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 13:04:47,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 290 transitions. [2022-04-08 13:04:49,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 290 edges. 289 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 13:04:49,608 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 290 transitions. [2022-04-08 13:04:49,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-08 13:04:49,608 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 13:04:49,608 INFO L499 BasicCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 13:04:49,624 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-08 13:04:49,809 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-08 13:04:49,809 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 13:04:49,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 13:04:49,810 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 17 times [2022-04-08 13:04:49,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 13:04:49,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1569740348] [2022-04-08 13:04:57,905 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 13:04:57,905 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 13:04:57,905 INFO L85 PathProgramCache]: Analyzing trace with hash 1564262477, now seen corresponding path program 18 times [2022-04-08 13:04:57,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 13:04:57,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2086067016] [2022-04-08 13:04:57,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 13:04:57,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 13:04:57,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 13:04:57,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [649343472] [2022-04-08 13:04:57,928 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 13:04:57,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 13:04:57,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 13:04:57,938 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 13:04:57,939 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-08 13:04:58,356 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 13:04:58,356 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 13:04:58,358 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-08 13:04:58,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 13:04:58,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 13:05:02,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {38079#true} call ULTIMATE.init(); {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {38079#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38079#true} {38079#true} #96#return; {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {38079#true} call #t~ret8 := main(); {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {38079#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {38079#true} is VALID [2022-04-08 13:05:02,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {38079#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {38079#true} ~cond := #in~cond; {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 13:05:02,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {38105#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:05:02,477 INFO L290 TraceCheckUtils]: 9: Hoare triple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {38109#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 13:05:02,478 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38109#(not (= |assume_abort_if_not_#in~cond| 0))} {38079#true} #80#return; {38116#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 13:05:02,478 INFO L290 TraceCheckUtils]: 11: Hoare triple {38116#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,479 INFO L272 TraceCheckUtils]: 14: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,480 INFO L290 TraceCheckUtils]: 17: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,480 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,480 INFO L272 TraceCheckUtils]: 19: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,480 INFO L290 TraceCheckUtils]: 21: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,481 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,481 INFO L272 TraceCheckUtils]: 24: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,482 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {38079#true} {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 13:05:02,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {38120#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,485 INFO L272 TraceCheckUtils]: 32: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,485 INFO L290 TraceCheckUtils]: 33: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,485 INFO L290 TraceCheckUtils]: 34: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,486 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,486 INFO L272 TraceCheckUtils]: 37: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,486 INFO L290 TraceCheckUtils]: 38: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,486 INFO L290 TraceCheckUtils]: 40: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,486 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,487 INFO L272 TraceCheckUtils]: 42: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,487 INFO L290 TraceCheckUtils]: 43: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,487 INFO L290 TraceCheckUtils]: 44: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,487 INFO L290 TraceCheckUtils]: 45: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,487 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {38079#true} {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {38175#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,490 INFO L290 TraceCheckUtils]: 48: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,490 INFO L290 TraceCheckUtils]: 49: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,490 INFO L272 TraceCheckUtils]: 50: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L290 TraceCheckUtils]: 51: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L290 TraceCheckUtils]: 52: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,491 INFO L272 TraceCheckUtils]: 55: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L290 TraceCheckUtils]: 56: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,491 INFO L290 TraceCheckUtils]: 57: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,492 INFO L290 TraceCheckUtils]: 58: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,492 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,492 INFO L272 TraceCheckUtils]: 60: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,492 INFO L290 TraceCheckUtils]: 61: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,492 INFO L290 TraceCheckUtils]: 62: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,492 INFO L290 TraceCheckUtils]: 63: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,493 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {38079#true} {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,495 INFO L290 TraceCheckUtils]: 65: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,496 INFO L272 TraceCheckUtils]: 68: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,496 INFO L290 TraceCheckUtils]: 69: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,496 INFO L290 TraceCheckUtils]: 70: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,496 INFO L290 TraceCheckUtils]: 71: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,497 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #82#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,497 INFO L272 TraceCheckUtils]: 73: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,497 INFO L290 TraceCheckUtils]: 74: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,497 INFO L290 TraceCheckUtils]: 75: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,497 INFO L290 TraceCheckUtils]: 76: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,498 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #84#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,498 INFO L272 TraceCheckUtils]: 78: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,498 INFO L290 TraceCheckUtils]: 79: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,498 INFO L290 TraceCheckUtils]: 80: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,498 INFO L290 TraceCheckUtils]: 81: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,499 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #86#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,499 INFO L290 TraceCheckUtils]: 83: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,500 INFO L290 TraceCheckUtils]: 84: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,500 INFO L290 TraceCheckUtils]: 85: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,500 INFO L272 TraceCheckUtils]: 86: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,500 INFO L290 TraceCheckUtils]: 87: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,500 INFO L290 TraceCheckUtils]: 88: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,500 INFO L290 TraceCheckUtils]: 89: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,501 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #88#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,501 INFO L272 TraceCheckUtils]: 91: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,501 INFO L290 TraceCheckUtils]: 92: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,501 INFO L290 TraceCheckUtils]: 93: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,501 INFO L290 TraceCheckUtils]: 94: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,502 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {38079#true} {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} #90#return; {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} is VALID [2022-04-08 13:05:02,505 INFO L290 TraceCheckUtils]: 96: Hoare triple {38285#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (<= 1 (mod main_~B~0 4294967296)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,508 INFO L290 TraceCheckUtils]: 97: Hoare triple {38230#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,508 INFO L290 TraceCheckUtils]: 98: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,509 INFO L290 TraceCheckUtils]: 99: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,509 INFO L272 TraceCheckUtils]: 100: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,509 INFO L290 TraceCheckUtils]: 101: Hoare triple {38079#true} ~cond := #in~cond; {38079#true} is VALID [2022-04-08 13:05:02,509 INFO L290 TraceCheckUtils]: 102: Hoare triple {38079#true} assume !(0 == ~cond); {38079#true} is VALID [2022-04-08 13:05:02,509 INFO L290 TraceCheckUtils]: 103: Hoare triple {38079#true} assume true; {38079#true} is VALID [2022-04-08 13:05:02,510 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {38079#true} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,510 INFO L272 TraceCheckUtils]: 105: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {38079#true} is VALID [2022-04-08 13:05:02,510 INFO L290 TraceCheckUtils]: 106: Hoare triple {38079#true} ~cond := #in~cond; {38410#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:05:02,511 INFO L290 TraceCheckUtils]: 107: Hoare triple {38410#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:05:02,511 INFO L290 TraceCheckUtils]: 108: Hoare triple {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 13:05:02,512 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {38414#(not (= |__VERIFIER_assert_#in~cond| 0))} {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 13:05:02,514 INFO L290 TraceCheckUtils]: 110: Hoare triple {38382#(and (= main_~q~0 main_~p~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {38424#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} is VALID [2022-04-08 13:05:02,516 INFO L290 TraceCheckUtils]: 111: Hoare triple {38424#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:05:02,517 INFO L290 TraceCheckUtils]: 112: Hoare triple {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:05:02,517 INFO L290 TraceCheckUtils]: 113: Hoare triple {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 13:05:02,518 INFO L272 TraceCheckUtils]: 114: Hoare triple {38428#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {38438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 13:05:02,518 INFO L290 TraceCheckUtils]: 115: Hoare triple {38438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 13:05:02,519 INFO L290 TraceCheckUtils]: 116: Hoare triple {38442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38080#false} is VALID [2022-04-08 13:05:02,519 INFO L290 TraceCheckUtils]: 117: Hoare triple {38080#false} assume !false; {38080#false} is VALID [2022-04-08 13:05:02,520 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 76 proven. 49 refuted. 0 times theorem prover too weak. 435 trivial. 0 not checked. [2022-04-08 13:05:02,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 13:06:04,294 WARN L232 SmtUtils]: Spent 39.41s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)