/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 09:19:57,636 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 09:19:57,638 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 09:19:57,677 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 09:19:57,678 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 09:19:57,679 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 09:19:57,682 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 09:19:57,686 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 09:19:57,688 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 09:19:57,693 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 09:19:57,694 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 09:19:57,694 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 09:19:57,695 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 09:19:57,695 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 09:19:57,696 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 09:19:57,697 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 09:19:57,697 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 09:19:57,698 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 09:19:57,699 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 09:19:57,700 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 09:19:57,701 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 09:19:57,702 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 09:19:57,703 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 09:19:57,704 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 09:19:57,704 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 09:19:57,706 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 09:19:57,707 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 09:19:57,707 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 09:19:57,707 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 09:19:57,708 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 09:19:57,709 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 09:19:57,709 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 09:19:57,709 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 09:19:57,710 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 09:19:57,710 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 09:19:57,711 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 09:19:57,712 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 09:19:57,712 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 09:19:57,712 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 09:19:57,712 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 09:19:57,713 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 09:19:57,714 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 09:19:57,714 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 09:19:57,726 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 09:19:57,727 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 09:19:57,728 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 09:19:57,728 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 09:19:57,729 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 09:19:57,729 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 09:19:57,729 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 09:19:57,729 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 09:19:57,729 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 09:19:57,730 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 09:19:57,730 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 09:19:57,730 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 09:19:57,731 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 09:19:57,731 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 09:19:57,731 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 09:19:57,731 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 09:19:57,949 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 09:19:57,975 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 09:19:57,977 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 09:19:57,978 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 09:19:57,979 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 09:19:57,980 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-15 09:19:58,044 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5691cc768/38c6d96a30aa4a27a73f6eef1dbf534d/FLAG9ce8c8960 [2022-04-15 09:19:58,416 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 09:19:58,417 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-15 09:19:58,422 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5691cc768/38c6d96a30aa4a27a73f6eef1dbf534d/FLAG9ce8c8960 [2022-04-15 09:19:58,438 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5691cc768/38c6d96a30aa4a27a73f6eef1dbf534d [2022-04-15 09:19:58,440 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 09:19:58,442 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 09:19:58,443 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 09:19:58,443 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 09:19:58,447 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 09:19:58,447 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,448 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@370559a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58, skipping insertion in model container [2022-04-15 09:19:58,449 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,454 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 09:19:58,467 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 09:19:58,610 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-15 09:19:58,631 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 09:19:58,638 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 09:19:58,648 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c[538,551] [2022-04-15 09:19:58,656 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 09:19:58,666 INFO L208 MainTranslator]: Completed translation [2022-04-15 09:19:58,667 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58 WrapperNode [2022-04-15 09:19:58,667 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 09:19:58,668 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 09:19:58,668 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 09:19:58,668 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 09:19:58,677 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,677 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,684 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,684 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,699 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,707 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,708 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,709 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 09:19:58,710 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 09:19:58,710 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 09:19:58,710 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 09:19:58,711 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (1/1) ... [2022-04-15 09:19:58,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 09:19:58,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:19:58,736 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 09:19:58,748 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 09:19:58,770 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 09:19:58,770 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 09:19:58,770 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 09:19:58,771 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 09:19:58,772 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 09:19:58,772 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 09:19:58,772 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 09:19:58,772 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 09:19:58,823 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 09:19:58,824 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 09:19:58,945 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 09:19:58,950 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 09:19:58,951 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 09:19:58,952 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 09:19:58 BoogieIcfgContainer [2022-04-15 09:19:58,952 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 09:19:58,954 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 09:19:58,954 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 09:19:58,956 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 09:19:58,956 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 09:19:58" (1/3) ... [2022-04-15 09:19:58,957 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cdc17f3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 09:19:58, skipping insertion in model container [2022-04-15 09:19:58,957 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:19:58" (2/3) ... [2022-04-15 09:19:58,957 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cdc17f3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 09:19:58, skipping insertion in model container [2022-04-15 09:19:58,957 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 09:19:58" (3/3) ... [2022-04-15 09:19:58,958 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-15 09:19:58,962 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 09:19:58,962 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 09:19:58,994 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 09:19:58,999 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 09:19:58,999 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 09:19:59,019 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 09:19:59,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 09:19:59,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:19:59,025 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:19:59,026 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:19:59,029 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:19:59,030 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 09:19:59,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:59,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [136065630] [2022-04-15 09:19:59,058 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:19:59,059 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 09:19:59,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:19:59,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1394639638] [2022-04-15 09:19:59,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:19:59,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:19:59,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,238 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:19:59,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 09:19:59,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 09:19:59,263 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 09:19:59,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:19:59,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,280 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 09:19:59,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:19:59,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 09:19:59,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:19:59,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 09:19:59,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:19:59,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 09:19:59,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 09:19:59,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 09:19:59,313 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 09:19:59,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-15 09:19:59,314 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-15 09:19:59,314 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,317 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 09:19:59,317 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 09:19:59,317 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-15 09:19:59,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 09:19:59,318 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 09:19:59,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:19:59,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:19:59,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:19:59,321 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 09:19:59,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-15 09:19:59,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 09:19:59,322 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-15 09:19:59,324 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 09:19:59,324 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 09:19:59,324 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 09:19:59,325 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:19:59,325 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:19:59,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1394639638] [2022-04-15 09:19:59,326 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1394639638] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:19:59,326 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:19:59,326 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 09:19:59,329 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:19:59,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [136065630] [2022-04-15 09:19:59,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [136065630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:19:59,329 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:19:59,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 09:19:59,330 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [649711536] [2022-04-15 09:19:59,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:19:59,338 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 09:19:59,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:19:59,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:19:59,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:59,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 09:19:59,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:59,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 09:19:59,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 09:19:59,408 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:19:59,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:59,598 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 09:19:59,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 09:19:59,598 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 09:19:59,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:19:59,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:19:59,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 09:19:59,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:19:59,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 09:19:59,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 09:19:59,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:59,786 INFO L225 Difference]: With dead ends: 69 [2022-04-15 09:19:59,786 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 09:19:59,789 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 09:19:59,791 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 09:19:59,792 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 09:19:59,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 09:19:59,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 09:19:59,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:19:59,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:19:59,817 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:19:59,817 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:19:59,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:59,822 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 09:19:59,822 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:19:59,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:59,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:59,824 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 09:19:59,824 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 09:19:59,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:59,828 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 09:19:59,829 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:19:59,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:59,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:59,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:19:59,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:19:59,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:19:59,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 09:19:59,835 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 09:19:59,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:19:59,835 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 09:19:59,835 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:19:59,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 09:19:59,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:59,882 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:19:59,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 09:19:59,883 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:19:59,883 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:19:59,883 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 09:19:59,883 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:19:59,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:19:59,884 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 09:19:59,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:59,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1442275286] [2022-04-15 09:19:59,886 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:19:59,886 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 09:19:59,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:19:59,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085951986] [2022-04-15 09:19:59,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:19:59,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:19:59,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,963 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:19:59,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 09:19:59,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:19:59,977 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 09:19:59,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:19:59,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:19:59,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:19:59,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:19:59,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 09:19:59,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:19:59,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:59,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:19:59,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:19:59,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:19:59,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 09:19:59,999 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:20:00,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,005 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:20:00,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:20:00,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:20:00,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 09:20:00,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:20:00,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 09:20:00,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:20:00,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 09:20:00,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 09:20:00,007 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-15 09:20:00,007 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-15 09:20:00,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:20:00,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:20:00,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:20:00,008 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 09:20:00,008 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 09:20:00,008 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {331#true} is VALID [2022-04-15 09:20:00,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:20:00,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:20:00,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:20:00,009 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 09:20:00,009 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 09:20:00,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:20:00,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:20:00,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:20:00,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 09:20:00,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-15 09:20:00,011 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 09:20:00,011 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:20:00,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:20:00,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 09:20:00,012 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 09:20:00,013 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:20:00,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:00,013 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085951986] [2022-04-15 09:20:00,013 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085951986] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:00,013 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:00,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:20:00,014 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:00,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1442275286] [2022-04-15 09:20:00,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1442275286] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:00,014 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:00,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:20:00,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1708571801] [2022-04-15 09:20:00,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:00,015 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 09:20:00,016 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:00,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:20:00,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:00,034 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 09:20:00,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:00,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 09:20:00,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 09:20:00,035 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:20:00,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:00,511 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 09:20:00,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 09:20:00,511 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 09:20:00,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:00,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:20:00,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:20:00,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:20:00,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:20:00,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 09:20:00,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:00,584 INFO L225 Difference]: With dead ends: 46 [2022-04-15 09:20:00,584 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 09:20:00,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 09:20:00,585 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:00,586 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:20:00,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 09:20:00,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 09:20:00,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:00,594 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:00,595 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:00,595 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:00,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:00,598 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 09:20:00,599 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 09:20:00,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:00,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:00,600 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 09:20:00,600 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 09:20:00,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:00,610 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 09:20:00,610 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 09:20:00,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:00,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:00,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:00,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:00,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:00,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 09:20:00,619 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 09:20:00,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:00,620 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 09:20:00,620 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:20:00,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 09:20:00,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:00,666 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 09:20:00,666 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 09:20:00,666 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:00,667 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:00,667 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 09:20:00,667 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:00,667 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:00,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 09:20:00,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:00,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1353937279] [2022-04-15 09:20:00,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:00,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 09:20:00,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:00,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1075271897] [2022-04-15 09:20:00,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:00,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:00,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,754 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:20:00,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 09:20:00,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,761 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 09:20:00,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:20:00,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 09:20:00,766 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:20:00,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 09:20:00,771 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:20:00,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,775 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 09:20:00,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 09:20:00,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:00,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:20:00,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:20:00,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 09:20:00,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 09:20:00,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 09:20:00,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-15 09:20:00,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-15 09:20:00,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 09:20:00,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 09:20:00,786 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {616#true} is VALID [2022-04-15 09:20:00,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,786 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,786 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 09:20:00,786 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 09:20:00,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,787 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 09:20:00,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:20:00,788 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:20:00,789 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-15 09:20:00,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:20:00,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:20:00,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:20:00,790 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:20:00,791 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:20:00,791 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:20:00,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 09:20:00,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 09:20:00,792 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:20:00,792 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:00,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1075271897] [2022-04-15 09:20:00,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1075271897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:00,793 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:00,793 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:20:00,793 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:00,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1353937279] [2022-04-15 09:20:00,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1353937279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:00,793 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:00,794 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:20:00,794 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [624952875] [2022-04-15 09:20:00,794 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:00,794 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 09:20:00,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:00,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:20:00,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:00,815 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 09:20:00,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:00,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 09:20:00,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 09:20:00,816 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:20:01,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:01,275 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 09:20:01,275 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 09:20:01,275 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 09:20:01,275 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:01,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:20:01,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:20:01,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:20:01,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:20:01,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 09:20:01,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:01,347 INFO L225 Difference]: With dead ends: 50 [2022-04-15 09:20:01,347 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 09:20:01,347 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 09:20:01,348 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:01,349 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:20:01,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 09:20:01,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 09:20:01,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:01,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:01,359 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:01,359 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:01,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:01,362 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 09:20:01,362 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 09:20:01,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:01,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:01,363 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 09:20:01,363 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 09:20:01,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:01,366 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 09:20:01,366 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 09:20:01,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:01,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:01,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:01,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:01,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:20:01,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 09:20:01,369 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 09:20:01,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:01,369 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 09:20:01,370 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:20:01,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 09:20:01,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:01,431 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 09:20:01,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 09:20:01,432 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:01,432 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:01,432 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 09:20:01,432 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:01,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:01,433 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 09:20:01,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:01,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [126755919] [2022-04-15 09:20:01,434 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:01,434 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 09:20:01,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:01,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [908617773] [2022-04-15 09:20:01,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:01,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:01,450 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:01,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1407367800] [2022-04-15 09:20:01,450 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:01,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:01,451 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:01,452 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:01,466 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 09:20:01,514 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:01,514 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:01,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 09:20:01,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:01,550 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:02,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 09:20:02,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-15 09:20:02,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:20:02,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 09:20:02,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 09:20:02,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-15 09:20:02,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-15 09:20:02,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:20:02,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:20:02,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:20:02,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 09:20:02,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 09:20:02,652 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {929#true} is VALID [2022-04-15 09:20:02,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:02,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:02,656 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:02,657 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {929#true} #83#return; {984#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:02,657 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 09:20:02,658 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:02,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:02,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:02,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:02,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:02,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:02,661 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-15 09:20:02,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:20:02,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:20:02,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:20:02,662 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:02,662 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-15 09:20:02,662 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:20:02,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:20:02,663 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:20:02,671 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:02,672 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:02,672 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:02,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 09:20:02,673 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 09:20:02,673 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 09:20:02,674 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 09:20:02,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:02,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [908617773] [2022-04-15 09:20:02,674 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:02,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1407367800] [2022-04-15 09:20:02,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1407367800] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:02,674 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:02,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 09:20:02,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:02,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [126755919] [2022-04-15 09:20:02,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [126755919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:02,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:02,676 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 09:20:02,676 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [225566565] [2022-04-15 09:20:02,676 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:02,676 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 09:20:02,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:02,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:20:02,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:02,704 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 09:20:02,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:02,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 09:20:02,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-15 09:20:02,705 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:20:03,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:03,187 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 09:20:03,187 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 09:20:03,187 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 09:20:03,187 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:03,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:20:03,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 09:20:03,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:20:03,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 09:20:03,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-15 09:20:03,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:03,275 INFO L225 Difference]: With dead ends: 69 [2022-04-15 09:20:03,275 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 09:20:03,276 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 09:20:03,277 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:03,277 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:20:03,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 09:20:03,324 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 09:20:03,324 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:03,325 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:20:03,325 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:20:03,326 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:20:03,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:03,330 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 09:20:03,330 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:20:03,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:03,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:03,333 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 09:20:03,333 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 09:20:03,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:03,339 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 09:20:03,339 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:20:03,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:03,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:03,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:03,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:03,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:20:03,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 09:20:03,345 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 09:20:03,346 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:03,346 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 09:20:03,347 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:20:03,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 09:20:03,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:03,446 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:20:03,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 09:20:03,448 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:03,448 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:03,475 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:03,671 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:03,672 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:03,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:03,672 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 09:20:03,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:03,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1825742751] [2022-04-15 09:20:03,673 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:03,673 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 09:20:03,673 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:03,673 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1253507544] [2022-04-15 09:20:03,673 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:03,673 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:03,687 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:03,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [795137750] [2022-04-15 09:20:03,688 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:03,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:03,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:03,689 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:03,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 09:20:03,743 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:03,743 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:03,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 09:20:03,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:03,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:04,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 09:20:04,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 09:20:04,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 09:20:04,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 09:20:04,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 09:20:04,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:04,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:04,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 09:20:04,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 09:20:04,943 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,944 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:04,944 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:04,945 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:04,945 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:04,946 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:04,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:04,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,946 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:04,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,948 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:04,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:04,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,949 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,949 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:04,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:04,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,950 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,951 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:04,956 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:04,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:04,956 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:04,957 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,959 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:04,959 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:04,960 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:04,960 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 09:20:04,960 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 09:20:04,961 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 09:20:04,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:20:05,346 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 09:20:05,347 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 09:20:05,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:05,348 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:05,349 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:20:05,349 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:20:05,350 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:05,350 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,350 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,350 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,355 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:05,355 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,355 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,355 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,355 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,356 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:05,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,356 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,357 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,364 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:05,365 INFO L290 TraceCheckUtils]: 22: Hoare triple {1413#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:05,366 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1413#true} #85#return; {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L272 TraceCheckUtils]: 17: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1413#true} {1413#true} #83#return; {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 15: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 14: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 09:20:05,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 09:20:05,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 09:20:05,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:20:05,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 09:20:05,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 09:20:05,368 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 09:20:05,368 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:05,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1253507544] [2022-04-15 09:20:05,368 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:05,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [795137750] [2022-04-15 09:20:05,368 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [795137750] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 09:20:05,368 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 09:20:05,369 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-15 09:20:05,369 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:05,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1825742751] [2022-04-15 09:20:05,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1825742751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:05,369 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:05,369 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:20:05,369 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1631073094] [2022-04-15 09:20:05,369 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:05,369 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 09:20:05,370 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:05,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:05,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:05,394 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 09:20:05,394 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:05,394 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 09:20:05,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 09:20:05,394 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:05,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:05,723 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-15 09:20:05,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 09:20:05,723 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-15 09:20:05,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:05,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:05,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 09:20:05,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:05,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 09:20:05,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 09:20:05,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:05,782 INFO L225 Difference]: With dead ends: 68 [2022-04-15 09:20:05,782 INFO L226 Difference]: Without dead ends: 66 [2022-04-15 09:20:05,783 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 09:20:05,783 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 12 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:05,784 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 09:20:05,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-15 09:20:05,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-15 09:20:05,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:05,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:20:05,840 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:20:05,840 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:20:05,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:05,843 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 09:20:05,843 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 09:20:05,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:05,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:05,844 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 09:20:05,845 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-15 09:20:05,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:05,847 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-15 09:20:05,847 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-15 09:20:05,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:05,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:05,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:05,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:05,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:20:05,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-15 09:20:05,851 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-15 09:20:05,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:05,851 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-15 09:20:05,851 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:05,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-15 09:20:05,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:05,951 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-15 09:20:05,952 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 09:20:05,952 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:05,952 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:05,977 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:06,175 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:06,175 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:06,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:06,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 09:20:06,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:06,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1657656242] [2022-04-15 09:20:06,176 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:06,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 09:20:06,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:06,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1343946938] [2022-04-15 09:20:06,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:06,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:06,189 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:06,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1845325015] [2022-04-15 09:20:06,190 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:06,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:06,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:06,191 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:06,207 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 09:20:06,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:06,237 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:06,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 09:20:06,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:06,253 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:07,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-15 09:20:07,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,809 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,809 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-15 09:20:07,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-15 09:20:07,809 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:07,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:07,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:07,811 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2091#true} #83#return; {2146#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:07,811 INFO L272 TraceCheckUtils]: 17: Hoare triple {2146#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:07,812 INFO L290 TraceCheckUtils]: 19: Hoare triple {2135#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:07,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2139#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:07,813 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2139#(not (= |assume_abort_if_not_#in~cond| 0))} {2146#(<= (mod main_~B~0 4294967296) 2)} #85#return; {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:07,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {2162#(and (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:07,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:07,814 INFO L272 TraceCheckUtils]: 24: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,814 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,814 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,815 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:07,815 INFO L272 TraceCheckUtils]: 29: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,815 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,815 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,815 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,817 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:07,817 INFO L272 TraceCheckUtils]: 34: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,817 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,818 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,818 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,818 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:07,819 INFO L290 TraceCheckUtils]: 39: Hoare triple {2166#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:07,820 INFO L290 TraceCheckUtils]: 40: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:07,820 INFO L272 TraceCheckUtils]: 41: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,820 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,820 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,820 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,821 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:07,821 INFO L272 TraceCheckUtils]: 46: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:07,821 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:07,821 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:07,821 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:07,822 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:07,823 INFO L272 TraceCheckUtils]: 51: Hoare triple {2218#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:07,823 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:07,823 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-15 09:20:07,824 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-15 09:20:07,824 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 09:20:07,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:20:08,367 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-15 09:20:08,369 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-15 09:20:08,369 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:08,370 INFO L272 TraceCheckUtils]: 51: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:08,374 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,374 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,374 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,374 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,374 INFO L272 TraceCheckUtils]: 46: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,375 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,375 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,375 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,375 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,375 INFO L272 TraceCheckUtils]: 41: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,377 INFO L290 TraceCheckUtils]: 40: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,495 INFO L290 TraceCheckUtils]: 39: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,496 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,496 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,496 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,496 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,496 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,497 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,497 INFO L272 TraceCheckUtils]: 29: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,498 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2091#true} {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,498 INFO L272 TraceCheckUtils]: 24: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {2091#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2275#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:08,499 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2091#true} {2091#true} #85#return; {2091#true} is VALID [2022-04-15 09:20:08,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L272 TraceCheckUtils]: 17: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2091#true} {2091#true} #83#return; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L272 TraceCheckUtils]: 12: Hoare triple {2091#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L272 TraceCheckUtils]: 6: Hoare triple {2091#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {2091#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2091#true} is VALID [2022-04-15 09:20:08,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-15 09:20:08,502 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-15 09:20:08,502 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:08,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1343946938] [2022-04-15 09:20:08,502 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:08,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1845325015] [2022-04-15 09:20:08,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1845325015] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 09:20:08,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 09:20:08,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 09:20:08,503 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:08,503 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1657656242] [2022-04-15 09:20:08,503 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1657656242] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:08,503 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:08,503 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 09:20:08,503 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1594644275] [2022-04-15 09:20:08,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:08,504 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 09:20:08,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:08,504 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:08,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:08,532 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 09:20:08,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:08,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 09:20:08,533 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 09:20:08,533 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:08,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:08,893 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-15 09:20:08,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 09:20:08,893 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 09:20:08,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:08,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:08,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 09:20:08,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 09:20:08,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 09:20:08,948 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:08,950 INFO L225 Difference]: With dead ends: 76 [2022-04-15 09:20:08,950 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 09:20:08,950 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 09:20:08,951 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:08,951 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 09:20:08,952 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 09:20:09,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-15 09:20:09,013 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:09,013 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 09:20:09,015 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 09:20:09,015 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 09:20:09,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:09,020 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 09:20:09,020 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 09:20:09,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:09,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:09,021 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 09:20:09,021 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-15 09:20:09,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:09,024 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-15 09:20:09,024 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-15 09:20:09,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:09,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:09,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:09,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:09,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 09:20:09,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-15 09:20:09,028 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-15 09:20:09,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:09,028 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-15 09:20:09,028 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:20:09,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-15 09:20:09,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:09,149 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-15 09:20:09,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 09:20:09,149 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:09,149 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:09,177 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:09,350 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:09,350 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:09,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:09,350 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-15 09:20:09,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:09,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [613700701] [2022-04-15 09:20:09,351 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:09,351 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-15 09:20:09,351 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:09,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1141356658] [2022-04-15 09:20:09,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:09,351 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:09,367 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:09,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1427469191] [2022-04-15 09:20:09,367 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:09,367 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:09,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:09,388 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:09,395 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 09:20:09,428 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:09,428 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:09,429 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 09:20:09,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:09,442 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:09,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {2875#true} call ULTIMATE.init(); {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {2875#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2875#true} {2875#true} #101#return; {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {2875#true} call #t~ret6 := main(); {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {2875#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2875#true} is VALID [2022-04-15 09:20:09,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {2875#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2875#true} {2875#true} #81#return; {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L290 TraceCheckUtils]: 11: Hoare triple {2875#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L272 TraceCheckUtils]: 12: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,654 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2875#true} {2875#true} #83#return; {2875#true} is VALID [2022-04-15 09:20:09,658 INFO L272 TraceCheckUtils]: 17: Hoare triple {2875#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,662 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2875#true} {2875#true} #85#return; {2875#true} is VALID [2022-04-15 09:20:09,663 INFO L290 TraceCheckUtils]: 22: Hoare triple {2875#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,664 INFO L272 TraceCheckUtils]: 24: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,664 INFO L290 TraceCheckUtils]: 25: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,664 INFO L290 TraceCheckUtils]: 26: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,665 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,665 INFO L272 TraceCheckUtils]: 29: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,683 INFO L290 TraceCheckUtils]: 31: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,685 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,685 INFO L272 TraceCheckUtils]: 34: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,686 INFO L290 TraceCheckUtils]: 36: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,686 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,687 INFO L290 TraceCheckUtils]: 39: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,687 INFO L272 TraceCheckUtils]: 41: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,687 INFO L290 TraceCheckUtils]: 42: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,688 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,688 INFO L272 TraceCheckUtils]: 46: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2875#true} is VALID [2022-04-15 09:20:09,688 INFO L290 TraceCheckUtils]: 47: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-15 09:20:09,688 INFO L290 TraceCheckUtils]: 48: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-15 09:20:09,688 INFO L290 TraceCheckUtils]: 49: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-15 09:20:09,689 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2875#true} {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,690 INFO L290 TraceCheckUtils]: 51: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:09,691 INFO L272 TraceCheckUtils]: 52: Hoare triple {2946#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:09,691 INFO L290 TraceCheckUtils]: 53: Hoare triple {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:09,692 INFO L290 TraceCheckUtils]: 54: Hoare triple {3041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2876#false} is VALID [2022-04-15 09:20:09,692 INFO L290 TraceCheckUtils]: 55: Hoare triple {2876#false} assume !false; {2876#false} is VALID [2022-04-15 09:20:09,692 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 09:20:09,692 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 09:20:09,692 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:09,693 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1141356658] [2022-04-15 09:20:09,693 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:09,693 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1427469191] [2022-04-15 09:20:09,693 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1427469191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:09,693 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:09,693 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 09:20:09,693 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:09,693 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [613700701] [2022-04-15 09:20:09,693 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [613700701] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:09,693 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:09,693 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 09:20:09,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [248320090] [2022-04-15 09:20:09,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:09,694 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 09:20:09,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:09,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 09:20:09,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:09,724 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 09:20:09,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:09,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 09:20:09,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 09:20:09,725 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 09:20:09,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:09,979 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-15 09:20:09,979 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 09:20:09,980 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-15 09:20:09,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:09,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 09:20:09,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 09:20:09,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 09:20:09,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 09:20:09,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 09:20:10,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:10,038 INFO L225 Difference]: With dead ends: 79 [2022-04-15 09:20:10,039 INFO L226 Difference]: Without dead ends: 72 [2022-04-15 09:20:10,039 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 09:20:10,039 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:10,040 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 09:20:10,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-15 09:20:10,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-15 09:20:10,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:10,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 09:20:10,104 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 09:20:10,104 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 09:20:10,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:10,107 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 09:20:10,107 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 09:20:10,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:10,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:10,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 09:20:10,108 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-15 09:20:10,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:10,111 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-15 09:20:10,111 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-15 09:20:10,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:10,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:10,111 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:10,111 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:10,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 09:20:10,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-15 09:20:10,114 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-15 09:20:10,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:10,114 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-15 09:20:10,114 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-15 09:20:10,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-15 09:20:10,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:10,223 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-15 09:20:10,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 09:20:10,223 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:10,223 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:10,242 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:10,431 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:10,431 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:10,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:10,432 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 09:20:10,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:10,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1978788199] [2022-04-15 09:20:10,432 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:10,432 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 09:20:10,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:10,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1423179489] [2022-04-15 09:20:10,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:10,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:10,446 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:10,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [746404679] [2022-04-15 09:20:10,447 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:10,447 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:10,447 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:10,448 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:10,461 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 09:20:10,531 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:10,532 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:10,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 09:20:10,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:10,549 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:16,973 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-15 09:20:16,974 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:16,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {3537#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:16,975 INFO L290 TraceCheckUtils]: 15: Hoare triple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3541#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:16,976 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3541#(not (= |assume_abort_if_not_#in~cond| 0))} {3493#true} #83#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:16,976 INFO L272 TraceCheckUtils]: 17: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,976 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3548#(<= (mod main_~B~0 4294967296) 2)} #85#return; {3548#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:16,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {3548#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,977 INFO L290 TraceCheckUtils]: 23: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,977 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,978 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,978 INFO L272 TraceCheckUtils]: 29: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,978 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,979 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,979 INFO L272 TraceCheckUtils]: 34: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,979 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,979 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,980 INFO L290 TraceCheckUtils]: 39: Hoare triple {3567#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,981 INFO L272 TraceCheckUtils]: 41: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,981 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,981 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,982 INFO L272 TraceCheckUtils]: 46: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,982 INFO L272 TraceCheckUtils]: 51: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,982 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,983 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,983 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,984 INFO L290 TraceCheckUtils]: 56: Hoare triple {3619#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,984 INFO L290 TraceCheckUtils]: 57: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,984 INFO L272 TraceCheckUtils]: 58: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,984 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,984 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,984 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,985 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,985 INFO L272 TraceCheckUtils]: 63: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:16,985 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:16,985 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:16,985 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:16,986 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:16,987 INFO L290 TraceCheckUtils]: 68: Hoare triple {3671#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 09:20:16,989 INFO L290 TraceCheckUtils]: 69: Hoare triple {3708#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-15 09:20:16,989 INFO L290 TraceCheckUtils]: 70: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-15 09:20:16,990 INFO L272 TraceCheckUtils]: 71: Hoare triple {3712#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:16,990 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:16,991 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-15 09:20:16,991 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-15 09:20:16,991 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 09:20:16,991 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:20:23,775 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-15 09:20:23,775 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-15 09:20:23,775 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:23,776 INFO L272 TraceCheckUtils]: 71: Hoare triple {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:23,786 INFO L290 TraceCheckUtils]: 70: Hoare triple {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:20:23,788 INFO L290 TraceCheckUtils]: 69: Hoare triple {3746#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3739#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:20:23,800 INFO L290 TraceCheckUtils]: 68: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3746#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-15 09:20:23,801 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:20:23,801 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,801 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,801 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,801 INFO L272 TraceCheckUtils]: 63: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,802 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3493#true} {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:20:23,802 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,802 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,802 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,802 INFO L272 TraceCheckUtils]: 58: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,803 INFO L290 TraceCheckUtils]: 57: Hoare triple {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:20:23,804 INFO L290 TraceCheckUtils]: 56: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3750#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:20:23,804 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:23,805 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,805 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,805 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,805 INFO L272 TraceCheckUtils]: 51: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,805 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:23,805 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L272 TraceCheckUtils]: 46: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3493#true} {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:23,806 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,806 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,807 INFO L272 TraceCheckUtils]: 41: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,807 INFO L290 TraceCheckUtils]: 40: Hoare triple {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:23,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3787#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:23,811 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:23,811 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,811 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,812 INFO L272 TraceCheckUtils]: 34: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,812 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:23,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,812 INFO L272 TraceCheckUtils]: 29: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,813 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3493#true} {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:23,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,813 INFO L272 TraceCheckUtils]: 24: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:23,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {3493#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3839#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:23,815 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3493#true} #85#return; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L272 TraceCheckUtils]: 17: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3493#true} {3493#true} #83#return; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L272 TraceCheckUtils]: 12: Hoare triple {3493#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-15 09:20:23,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {3493#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {3493#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {3493#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-15 09:20:23,816 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 09:20:23,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:23,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1423179489] [2022-04-15 09:20:23,816 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:23,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [746404679] [2022-04-15 09:20:23,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [746404679] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:20:23,817 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:20:23,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-15 09:20:23,817 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:23,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1978788199] [2022-04-15 09:20:23,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1978788199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:23,817 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:23,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 09:20:23,817 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1764401368] [2022-04-15 09:20:23,817 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:23,818 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 09:20:23,818 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:23,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:20:23,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:23,863 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 09:20:23,863 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:23,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 09:20:23,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-15 09:20:23,864 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:20:25,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:25,210 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-15 09:20:25,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 09:20:25,210 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 09:20:25,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:25,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:20:25,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 09:20:25,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:20:25,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 09:20:25,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-15 09:20:25,320 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:25,324 INFO L225 Difference]: With dead ends: 135 [2022-04-15 09:20:25,324 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 09:20:25,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-15 09:20:25,325 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 28 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 360 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 360 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:25,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 195 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 09:20:25,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 09:20:25,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-15 09:20:25,424 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:25,424 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:25,424 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:25,425 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:25,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:25,428 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 09:20:25,428 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 09:20:25,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:25,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:25,429 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 09:20:25,430 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-15 09:20:25,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:25,433 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-15 09:20:25,433 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-15 09:20:25,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:25,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:25,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:25,434 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:25,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:25,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-15 09:20:25,438 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-15 09:20:25,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:25,438 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-15 09:20:25,438 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:20:25,439 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-15 09:20:25,621 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:25,621 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-15 09:20:25,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 09:20:25,622 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:25,622 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:25,639 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 09:20:25,830 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:25,830 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:25,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:25,830 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 09:20:25,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:25,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [736935829] [2022-04-15 09:20:25,831 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:25,831 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 09:20:25,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:25,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1455315168] [2022-04-15 09:20:25,831 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:25,831 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:25,860 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:25,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2126534916] [2022-04-15 09:20:25,860 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:20:25,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:25,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:25,873 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:25,874 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 09:20:25,926 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:20:25,926 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:25,927 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 09:20:25,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:25,941 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:27,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,881 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-15 09:20:27,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-15 09:20:27,881 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:20:27,884 INFO L290 TraceCheckUtils]: 14: Hoare triple {4705#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:27,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4709#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:20:27,885 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4709#(not (= |assume_abort_if_not_#in~cond| 0))} {4661#true} #83#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:27,885 INFO L272 TraceCheckUtils]: 17: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,885 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4716#(<= (mod main_~B~0 4294967296) 2)} #85#return; {4716#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-15 09:20:27,886 INFO L290 TraceCheckUtils]: 22: Hoare triple {4716#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,886 INFO L290 TraceCheckUtils]: 23: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !false; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,887 INFO L272 TraceCheckUtils]: 24: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,887 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,887 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,887 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #87#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,887 INFO L272 TraceCheckUtils]: 29: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,887 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #89#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,888 INFO L272 TraceCheckUtils]: 34: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,888 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,889 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} #91#return; {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {4735#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:27,890 INFO L290 TraceCheckUtils]: 40: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:27,890 INFO L272 TraceCheckUtils]: 41: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,890 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,890 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,891 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:27,891 INFO L272 TraceCheckUtils]: 46: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,891 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,892 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:27,892 INFO L272 TraceCheckUtils]: 51: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,892 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,892 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,892 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,892 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:20:27,893 INFO L290 TraceCheckUtils]: 56: Hoare triple {4787#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:20:27,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:20:27,894 INFO L272 TraceCheckUtils]: 58: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:20:27,894 INFO L272 TraceCheckUtils]: 63: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,894 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,895 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,895 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:20:27,896 INFO L290 TraceCheckUtils]: 68: Hoare triple {4839#(and (<= (mod main_~B~0 4294967296) 2) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,896 INFO L290 TraceCheckUtils]: 69: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,897 INFO L290 TraceCheckUtils]: 70: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,897 INFO L272 TraceCheckUtils]: 71: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:27,897 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:27,897 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:27,897 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:27,897 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:20:27,898 INFO L272 TraceCheckUtils]: 76: Hoare triple {4876#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:27,898 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:27,901 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-15 09:20:27,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-15 09:20:27,901 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 09:20:27,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:20:34,102 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-15 09:20:34,103 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-15 09:20:34,103 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:34,104 INFO L272 TraceCheckUtils]: 76: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:34,105 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4661#true} {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:34,105 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,105 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,105 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,105 INFO L272 TraceCheckUtils]: 71: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,105 INFO L290 TraceCheckUtils]: 70: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:34,105 INFO L290 TraceCheckUtils]: 69: Hoare triple {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:34,116 INFO L290 TraceCheckUtils]: 68: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4921#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:20:34,116 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:20:34,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,117 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,117 INFO L272 TraceCheckUtils]: 63: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,118 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4661#true} {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:20:34,118 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,118 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,118 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,118 INFO L272 TraceCheckUtils]: 58: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,119 INFO L290 TraceCheckUtils]: 57: Hoare triple {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:20:34,120 INFO L290 TraceCheckUtils]: 56: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4946#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:20:34,121 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:34,121 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,121 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,121 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,121 INFO L272 TraceCheckUtils]: 51: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,121 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:34,121 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L272 TraceCheckUtils]: 46: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4661#true} {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:34,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,122 INFO L272 TraceCheckUtils]: 41: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,123 INFO L290 TraceCheckUtils]: 40: Hoare triple {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:34,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4983#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:34,127 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:20:34,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,128 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,128 INFO L272 TraceCheckUtils]: 34: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,128 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:20:34,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,129 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,129 INFO L272 TraceCheckUtils]: 29: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,129 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4661#true} {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:20:34,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,130 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,130 INFO L272 TraceCheckUtils]: 24: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:20:34,131 INFO L290 TraceCheckUtils]: 22: Hoare triple {4661#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5035#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:20:34,131 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4661#true} #85#return; {4661#true} is VALID [2022-04-15 09:20:34,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,131 INFO L272 TraceCheckUtils]: 17: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,131 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4661#true} {4661#true} #83#return; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {4661#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L272 TraceCheckUtils]: 6: Hoare triple {4661#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {4661#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4661#true} is VALID [2022-04-15 09:20:34,132 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-15 09:20:34,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-15 09:20:34,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-15 09:20:34,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {4661#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4661#true} is VALID [2022-04-15 09:20:34,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-15 09:20:34,133 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 09:20:34,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:34,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1455315168] [2022-04-15 09:20:34,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:34,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2126534916] [2022-04-15 09:20:34,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2126534916] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:20:34,134 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:20:34,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 09:20:34,134 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:34,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [736935829] [2022-04-15 09:20:34,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [736935829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:34,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:34,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 09:20:34,135 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252347570] [2022-04-15 09:20:34,135 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:34,135 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 09:20:34,135 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:34,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:20:34,184 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-15 09:20:34,184 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 09:20:34,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:34,184 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 09:20:34,184 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-15 09:20:34,184 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:20:35,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:35,305 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-15 09:20:35,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 09:20:35,305 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 09:20:35,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:35,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:20:35,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-15 09:20:35,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:20:35,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-15 09:20:35,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2022-04-15 09:20:35,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:35,419 INFO L225 Difference]: With dead ends: 133 [2022-04-15 09:20:35,419 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 09:20:35,420 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-04-15 09:20:35,420 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 24 mSDsluCounter, 214 mSDsCounter, 0 mSdLazyCounter, 288 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 262 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 288 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:35,420 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 262 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 288 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 09:20:35,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 09:20:35,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-15 09:20:35,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:35,526 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:35,526 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:35,526 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:35,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:35,530 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 09:20:35,530 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 09:20:35,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:35,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:35,530 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 09:20:35,531 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-15 09:20:35,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:35,534 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-15 09:20:35,534 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 09:20:35,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:35,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:35,535 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:35,535 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:35,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-15 09:20:35,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-15 09:20:35,538 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-15 09:20:35,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:35,538 INFO L478 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-15 09:20:35,539 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:20:35,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-15 09:20:35,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:35,696 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-15 09:20:35,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 09:20:35,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:20:35,697 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:20:35,715 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:35,907 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:35,907 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:20:35,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:20:35,908 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 09:20:35,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:35,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [321338307] [2022-04-15 09:20:35,908 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:20:35,908 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 09:20:35,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:20:35,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025090559] [2022-04-15 09:20:35,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:20:35,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:20:35,922 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:20:35,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1924938743] [2022-04-15 09:20:35,922 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:20:35,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:20:35,923 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:20:35,923 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:20:35,935 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 09:20:35,984 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:20:35,984 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:20:35,985 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 09:20:35,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:20:36,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:20:39,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,601 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-15 09:20:39,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !false; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,602 INFO L272 TraceCheckUtils]: 24: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #87#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,603 INFO L272 TraceCheckUtils]: 29: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,604 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #89#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,604 INFO L272 TraceCheckUtils]: 34: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,605 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} #91#return; {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,605 INFO L290 TraceCheckUtils]: 39: Hoare triple {5938#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,606 INFO L272 TraceCheckUtils]: 41: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,606 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,606 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,607 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,607 INFO L272 TraceCheckUtils]: 46: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,607 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,607 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,607 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,607 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,608 INFO L272 TraceCheckUtils]: 51: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,608 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,608 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,608 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,608 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,609 INFO L290 TraceCheckUtils]: 56: Hoare triple {5990#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div main_~d~0 2)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,609 INFO L290 TraceCheckUtils]: 57: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,609 INFO L272 TraceCheckUtils]: 58: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,609 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,609 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,609 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,610 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #93#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,610 INFO L272 TraceCheckUtils]: 63: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,610 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,610 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,610 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,611 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #95#return; {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,612 INFO L290 TraceCheckUtils]: 68: Hoare triple {6042#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} is VALID [2022-04-15 09:20:39,613 INFO L290 TraceCheckUtils]: 69: Hoare triple {6079#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 09:20:39,613 INFO L290 TraceCheckUtils]: 70: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !false; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 09:20:39,613 INFO L272 TraceCheckUtils]: 71: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,613 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,613 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,613 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,616 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #93#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 09:20:39,616 INFO L272 TraceCheckUtils]: 76: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:20:39,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:20:39,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:20:39,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:20:39,617 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #95#return; {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 09:20:39,617 INFO L290 TraceCheckUtils]: 81: Hoare triple {6083#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !(1 != ~p~0); {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-15 09:20:39,618 INFO L272 TraceCheckUtils]: 82: Hoare triple {6120#(and (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:39,619 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:39,619 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-15 09:20:39,619 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-15 09:20:39,620 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 09:20:39,620 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:21:00,767 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-15 09:21:00,767 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-15 09:21:00,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:21:00,769 INFO L272 TraceCheckUtils]: 82: Hoare triple {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:21:00,769 INFO L290 TraceCheckUtils]: 81: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 09:21:00,770 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:21:00,770 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,770 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,770 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,770 INFO L272 TraceCheckUtils]: 76: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,771 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5867#true} {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:21:00,771 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,771 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,771 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,771 INFO L272 TraceCheckUtils]: 71: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,772 INFO L290 TraceCheckUtils]: 70: Hoare triple {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:21:00,774 INFO L290 TraceCheckUtils]: 69: Hoare triple {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6148#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:21:00,780 INFO L290 TraceCheckUtils]: 68: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6144#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 09:21:00,780 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #95#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 09:21:00,781 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,781 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,781 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,781 INFO L272 TraceCheckUtils]: 63: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,782 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5867#true} {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #93#return; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 09:21:00,782 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,782 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,782 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,782 INFO L272 TraceCheckUtils]: 58: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,783 INFO L290 TraceCheckUtils]: 57: Hoare triple {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 09:21:00,784 INFO L290 TraceCheckUtils]: 56: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6188#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-15 09:21:00,784 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:21:00,784 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,785 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,785 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,785 INFO L272 TraceCheckUtils]: 51: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,785 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:21:00,786 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,786 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,786 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,786 INFO L272 TraceCheckUtils]: 46: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,786 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5867#true} {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:21:00,786 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,787 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,787 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,787 INFO L272 TraceCheckUtils]: 41: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,788 INFO L290 TraceCheckUtils]: 40: Hoare triple {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:21:00,791 INFO L290 TraceCheckUtils]: 39: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6225#(or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:21:00,792 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:21:00,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,792 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,792 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,792 INFO L272 TraceCheckUtils]: 34: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,792 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:21:00,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,793 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,793 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,793 INFO L272 TraceCheckUtils]: 29: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,793 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5867#true} {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:21:00,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,794 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,794 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,794 INFO L272 TraceCheckUtils]: 24: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,794 INFO L290 TraceCheckUtils]: 23: Hoare triple {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:21:00,795 INFO L290 TraceCheckUtils]: 22: Hoare triple {5867#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6277#(or (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:21:00,795 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L272 TraceCheckUtils]: 17: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-15 09:21:00,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L272 TraceCheckUtils]: 12: Hoare triple {5867#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L272 TraceCheckUtils]: 6: Hoare triple {5867#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {5867#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-15 09:21:00,796 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-15 09:21:00,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-15 09:21:00,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {5867#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5867#true} is VALID [2022-04-15 09:21:00,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-15 09:21:00,797 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 09:21:00,797 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:21:00,797 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1025090559] [2022-04-15 09:21:00,798 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:21:00,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1924938743] [2022-04-15 09:21:00,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1924938743] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:21:00,798 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:21:00,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-15 09:21:00,798 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:21:00,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [321338307] [2022-04-15 09:21:00,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [321338307] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:21:00,798 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:21:00,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 09:21:00,798 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [452760392] [2022-04-15 09:21:00,799 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:21:00,799 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-15 09:21:00,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:21:00,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 09:21:00,860 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-15 09:21:00,860 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 09:21:00,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:21:00,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 09:21:00,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2022-04-15 09:21:00,861 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 09:21:02,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:21:02,573 INFO L93 Difference]: Finished difference Result 145 states and 170 transitions. [2022-04-15 09:21:02,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 09:21:02,573 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-15 09:21:02,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:21:02,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 09:21:02,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-15 09:21:02,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 09:21:02,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-15 09:21:02,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2022-04-15 09:21:02,686 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-15 09:21:02,688 INFO L225 Difference]: With dead ends: 145 [2022-04-15 09:21:02,688 INFO L226 Difference]: Without dead ends: 96 [2022-04-15 09:21:02,689 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 156 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-15 09:21:02,690 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 10 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 250 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 236 SdHoareTripleChecker+Invalid, 264 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 250 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 09:21:02,690 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 236 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 250 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 09:21:02,690 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-15 09:21:02,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-15 09:21:02,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:21:02,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 09:21:02,790 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 09:21:02,790 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 09:21:02,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:21:02,792 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-15 09:21:02,793 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-15 09:21:02,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:21:02,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:21:02,793 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-15 09:21:02,794 INFO L87 Difference]: Start difference. First operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 96 states. [2022-04-15 09:21:02,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:21:02,796 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-15 09:21:02,796 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-15 09:21:02,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:21:02,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:21:02,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:21:02,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:21:02,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 53 states have (on average 1.1132075471698113) internal successors, (59), 55 states have internal predecessors, (59), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-15 09:21:02,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 103 transitions. [2022-04-15 09:21:02,799 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 103 transitions. Word has length 86 [2022-04-15 09:21:02,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:21:02,799 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 103 transitions. [2022-04-15 09:21:02,799 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 09:21:02,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 103 transitions. [2022-04-15 09:21:02,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:21:02,935 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 103 transitions. [2022-04-15 09:21:02,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-15 09:21:02,935 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:21:02,935 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:21:02,952 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-15 09:21:03,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:21:03,139 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:21:03,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:21:03,140 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-15 09:21:03,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:21:03,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1187281221] [2022-04-15 09:21:03,140 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:21:03,140 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-15 09:21:03,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:21:03,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [693296229] [2022-04-15 09:21:03,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:21:03,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:21:03,162 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:21:03,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [479577253] [2022-04-15 09:21:03,162 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 09:21:03,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:21:03,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:21:03,164 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:21:03,185 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 09:21:03,229 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 09:21:03,229 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:21:03,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-15 09:21:03,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:21:03,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:22:21,324 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,325 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-15 09:22:21,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,326 INFO L272 TraceCheckUtils]: 24: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,326 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,327 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,327 INFO L272 TraceCheckUtils]: 29: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,327 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,327 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,331 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,332 INFO L272 TraceCheckUtils]: 34: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,332 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,332 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,333 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,334 INFO L272 TraceCheckUtils]: 41: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,334 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,334 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,334 INFO L272 TraceCheckUtils]: 46: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,335 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,335 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,335 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,335 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,335 INFO L272 TraceCheckUtils]: 51: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,335 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,336 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,336 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,337 INFO L290 TraceCheckUtils]: 56: Hoare triple {7132#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,338 INFO L290 TraceCheckUtils]: 57: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,338 INFO L272 TraceCheckUtils]: 58: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,338 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,339 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,339 INFO L272 TraceCheckUtils]: 63: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,339 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,339 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,339 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,340 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,340 INFO L272 TraceCheckUtils]: 68: Hoare triple {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,340 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:22:21,341 INFO L290 TraceCheckUtils]: 70: Hoare triple {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:22:21,341 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:22:21,342 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7235#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,342 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,343 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,343 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,343 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,343 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,343 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,344 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,344 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:22:21,344 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:22:21,344 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:22:21,344 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:22:21,345 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:22:21,350 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-15 09:22:21,353 INFO L290 TraceCheckUtils]: 86: Hoare triple {7326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:22:21,353 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:22:21,354 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:22:21,354 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:22:21,355 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-15 09:22:21,355 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-15 09:22:21,355 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 09:22:21,355 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:23:12,352 WARN L232 SmtUtils]: Spent 23.46s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 09:24:13,675 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-15 09:24:13,676 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-15 09:24:13,677 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:24:13,678 INFO L272 TraceCheckUtils]: 88: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:24:13,679 INFO L290 TraceCheckUtils]: 87: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,681 INFO L290 TraceCheckUtils]: 86: Hoare triple {7363#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,694 INFO L290 TraceCheckUtils]: 85: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7363#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-15 09:24:13,694 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7061#true} {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:24:13,694 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,695 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,695 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,695 INFO L272 TraceCheckUtils]: 80: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,695 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7061#true} {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:24:13,696 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,696 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,696 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,696 INFO L272 TraceCheckUtils]: 75: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,697 INFO L290 TraceCheckUtils]: 74: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:24:13,698 INFO L290 TraceCheckUtils]: 73: Hoare triple {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:24:13,701 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #91#return; {7367#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:24:13,701 INFO L290 TraceCheckUtils]: 71: Hoare triple {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:13,702 INFO L290 TraceCheckUtils]: 70: Hoare triple {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7279#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:13,702 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7417#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:24:13,702 INFO L272 TraceCheckUtils]: 68: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,703 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7061#true} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #89#return; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 09:24:13,703 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,703 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,703 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,703 INFO L272 TraceCheckUtils]: 63: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,704 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7061#true} {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #87#return; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 09:24:13,704 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,704 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,704 INFO L272 TraceCheckUtils]: 58: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,705 INFO L290 TraceCheckUtils]: 57: Hoare triple {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !false; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 09:24:13,708 INFO L290 TraceCheckUtils]: 56: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7407#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-15 09:24:13,709 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,709 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,709 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,709 INFO L272 TraceCheckUtils]: 51: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,710 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L272 TraceCheckUtils]: 46: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,710 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,711 INFO L272 TraceCheckUtils]: 41: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,711 INFO L290 TraceCheckUtils]: 40: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,711 INFO L290 TraceCheckUtils]: 39: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,712 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,712 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,712 INFO L272 TraceCheckUtils]: 34: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L272 TraceCheckUtils]: 29: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7061#true} {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,713 INFO L272 TraceCheckUtils]: 24: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,714 INFO L290 TraceCheckUtils]: 23: Hoare triple {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,714 INFO L290 TraceCheckUtils]: 22: Hoare triple {7061#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7330#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:24:13,714 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-15 09:24:13,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,714 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,714 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L272 TraceCheckUtils]: 17: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L272 TraceCheckUtils]: 12: Hoare triple {7061#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L272 TraceCheckUtils]: 6: Hoare triple {7061#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7061#true} is VALID [2022-04-15 09:24:13,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-15 09:24:13,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-15 09:24:13,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-15 09:24:13,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {7061#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7061#true} is VALID [2022-04-15 09:24:13,716 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-15 09:24:13,716 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-15 09:24:13,716 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:24:13,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [693296229] [2022-04-15 09:24:13,716 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:24:13,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [479577253] [2022-04-15 09:24:13,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [479577253] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:24:13,717 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:24:13,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-15 09:24:13,717 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:24:13,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1187281221] [2022-04-15 09:24:13,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1187281221] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:24:13,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:24:13,717 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 09:24:13,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [576103863] [2022-04-15 09:24:13,717 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:24:13,718 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 09:24:13,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:24:13,718 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 09:24:13,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:24:13,770 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 09:24:13,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:24:13,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 09:24:13,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=162, Unknown=2, NotChecked=0, Total=210 [2022-04-15 09:24:13,771 INFO L87 Difference]: Start difference. First operand 89 states and 103 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 09:24:15,565 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.47s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:24:16,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:24:16,787 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2022-04-15 09:24:16,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 09:24:16,787 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 92 [2022-04-15 09:24:16,788 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:24:16,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 09:24:16,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-15 09:24:16,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 09:24:16,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 74 transitions. [2022-04-15 09:24:16,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 74 transitions. [2022-04-15 09:24:16,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:24:16,881 INFO L225 Difference]: With dead ends: 107 [2022-04-15 09:24:16,881 INFO L226 Difference]: Without dead ends: 95 [2022-04-15 09:24:16,881 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 31.8s TimeCoverageRelationStatistics Valid=59, Invalid=211, Unknown=2, NotChecked=0, Total=272 [2022-04-15 09:24:16,881 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 24 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-15 09:24:16,882 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 140 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-15 09:24:16,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-15 09:24:16,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-04-15 09:24:16,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:24:16,999 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:24:16,999 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:24:16,999 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:24:17,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:24:17,001 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-15 09:24:17,002 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 09:24:17,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:24:17,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:24:17,002 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-15 09:24:17,003 INFO L87 Difference]: Start difference. First operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) Second operand 95 states. [2022-04-15 09:24:17,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:24:17,005 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-15 09:24:17,005 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 09:24:17,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:24:17,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:24:17,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:24:17,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:24:17,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 57 states have (on average 1.087719298245614) internal successors, (62), 60 states have internal predecessors, (62), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 20 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:24:17,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 108 transitions. [2022-04-15 09:24:17,008 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 108 transitions. Word has length 92 [2022-04-15 09:24:17,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:24:17,008 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 108 transitions. [2022-04-15 09:24:17,008 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-15 09:24:17,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 108 transitions. [2022-04-15 09:24:17,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-15 09:24:17,206 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-15 09:24:17,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-15 09:24:17,207 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:24:17,207 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:24:17,234 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 09:24:17,407 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 09:24:17,408 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:24:17,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:24:17,408 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-15 09:24:17,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:24:17,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [577642088] [2022-04-15 09:24:17,408 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:24:17,409 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-15 09:24:17,409 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:24:17,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [732356032] [2022-04-15 09:24:17,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:24:17,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:24:17,420 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:24:17,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1235363834] [2022-04-15 09:24:17,420 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:24:17,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:24:17,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:24:17,422 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:24:17,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 09:24:17,507 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:24:17,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:24:17,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 09:24:17,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:24:17,526 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:24:20,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-15 09:24:20,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:24:20,934 INFO L290 TraceCheckUtils]: 8: Hoare triple {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:24:20,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:24:20,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} {8225#true} #81#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:24:20,935 INFO L272 TraceCheckUtils]: 12: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #83#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:24:20,935 INFO L272 TraceCheckUtils]: 17: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,935 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,936 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,936 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8262#(<= (mod main_~A~0 4294967296) 2)} #85#return; {8262#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:24:20,936 INFO L290 TraceCheckUtils]: 22: Hoare triple {8262#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:24:20,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} assume !false; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:24:20,937 INFO L272 TraceCheckUtils]: 24: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,937 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,937 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #87#return; {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:24:20,938 INFO L272 TraceCheckUtils]: 29: Hoare triple {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:24:20,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:20,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:20,940 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8299#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) 2) (= main_~p~0 1))} #89#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:24:20,940 INFO L272 TraceCheckUtils]: 34: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:24:20,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:20,941 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:24:20,941 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} #91#return; {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} is VALID [2022-04-15 09:24:20,942 INFO L290 TraceCheckUtils]: 39: Hoare triple {8335#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,947 INFO L272 TraceCheckUtils]: 41: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,947 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,948 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,948 INFO L272 TraceCheckUtils]: 46: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,949 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,949 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,949 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,949 INFO L272 TraceCheckUtils]: 51: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,949 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,950 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,952 INFO L290 TraceCheckUtils]: 56: Hoare triple {8354#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296) (<= (mod main_~r~0 4294967296) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,952 INFO L290 TraceCheckUtils]: 57: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !false; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,952 INFO L272 TraceCheckUtils]: 58: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,952 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,952 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,953 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,953 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #87#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,953 INFO L272 TraceCheckUtils]: 63: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,953 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,953 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,954 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,954 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #89#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,954 INFO L272 TraceCheckUtils]: 68: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,954 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,955 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,955 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,955 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} #91#return; {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} is VALID [2022-04-15 09:24:20,957 INFO L290 TraceCheckUtils]: 73: Hoare triple {8406#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4) (<= (mod main_~r~0 4294967296) 2))} assume !(~r~0 >= ~d~0); {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 09:24:20,958 INFO L290 TraceCheckUtils]: 74: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !false; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 09:24:20,958 INFO L272 TraceCheckUtils]: 75: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,958 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,958 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,958 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,959 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #93#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 09:24:20,959 INFO L272 TraceCheckUtils]: 80: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,959 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,959 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,959 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,960 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} #95#return; {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} is VALID [2022-04-15 09:24:20,961 INFO L290 TraceCheckUtils]: 85: Hoare triple {8458#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:24:20,962 INFO L290 TraceCheckUtils]: 86: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:24:20,962 INFO L290 TraceCheckUtils]: 87: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} assume !false; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:24:20,962 INFO L272 TraceCheckUtils]: 88: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:24:20,963 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:24:20,963 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:24:20,963 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:24:20,964 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} #93#return; {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:24:20,964 INFO L272 TraceCheckUtils]: 93: Hoare triple {8495#(and (< (div (+ (* (- 2) (mod main_~B~0 4294967296)) 2) (- 4294967296)) 1) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:24:20,965 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:24:20,965 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-15 09:24:20,965 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-15 09:24:20,966 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 28 proven. 80 refuted. 0 times theorem prover too weak. 210 trivial. 0 not checked. [2022-04-15 09:24:20,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:25:02,500 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-15 09:25:02,500 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-15 09:25:02,501 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:25:02,501 INFO L272 TraceCheckUtils]: 93: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:25:02,502 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8225#true} {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:25:02,502 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,502 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,502 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,502 INFO L272 TraceCheckUtils]: 88: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,502 INFO L290 TraceCheckUtils]: 87: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:25:02,503 INFO L290 TraceCheckUtils]: 86: Hoare triple {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:25:02,522 INFO L290 TraceCheckUtils]: 85: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8540#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:25:02,522 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #95#return; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:25:02,522 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,522 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,522 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,523 INFO L272 TraceCheckUtils]: 80: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,523 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8225#true} {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #93#return; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:25:02,523 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,523 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,523 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,523 INFO L272 TraceCheckUtils]: 75: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,524 INFO L290 TraceCheckUtils]: 74: Hoare triple {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:25:02,525 INFO L290 TraceCheckUtils]: 73: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {8565#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:25:02,526 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #91#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 09:25:02,526 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,526 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,526 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,526 INFO L272 TraceCheckUtils]: 68: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,526 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #89#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 09:25:02,526 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L272 TraceCheckUtils]: 63: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8225#true} {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #87#return; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 09:25:02,527 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,527 INFO L272 TraceCheckUtils]: 58: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,528 INFO L290 TraceCheckUtils]: 57: Hoare triple {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !false; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 09:25:02,531 INFO L290 TraceCheckUtils]: 56: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8602#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-15 09:25:02,532 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L272 TraceCheckUtils]: 51: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,532 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,533 INFO L272 TraceCheckUtils]: 46: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,533 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8225#true} {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:25:02,533 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,533 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,533 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,533 INFO L272 TraceCheckUtils]: 41: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,534 INFO L290 TraceCheckUtils]: 40: Hoare triple {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:25:02,535 INFO L290 TraceCheckUtils]: 39: Hoare triple {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8654#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:25:02,536 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} {8225#true} #91#return; {8706#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-15 09:25:02,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:25:02,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8328#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:25:02,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8719#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:25:02,537 INFO L272 TraceCheckUtils]: 34: Hoare triple {8225#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8225#true} {8225#true} #89#return; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 32: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 31: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L272 TraceCheckUtils]: 29: Hoare triple {8225#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8225#true} #87#return; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L272 TraceCheckUtils]: 24: Hoare triple {8225#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {8225#true} assume !false; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 22: Hoare triple {8225#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8225#true} #85#return; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,537 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L272 TraceCheckUtils]: 17: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8225#true} #83#return; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L272 TraceCheckUtils]: 12: Hoare triple {8225#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 11: Hoare triple {8225#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8225#true} {8225#true} #81#return; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 9: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {8225#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {8225#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-15 09:25:02,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-15 09:25:02,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-15 09:25:02,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {8225#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8225#true} is VALID [2022-04-15 09:25:02,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-15 09:25:02,539 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 37 proven. 38 refuted. 0 times theorem prover too weak. 243 trivial. 0 not checked. [2022-04-15 09:25:02,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:25:02,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [732356032] [2022-04-15 09:25:02,539 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:25:02,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1235363834] [2022-04-15 09:25:02,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1235363834] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:25:02,539 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:25:02,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 21 [2022-04-15 09:25:02,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:25:02,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [577642088] [2022-04-15 09:25:02,540 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [577642088] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:25:02,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:25:02,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 09:25:02,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385959277] [2022-04-15 09:25:02,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:25:02,540 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-15 09:25:02,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:25:02,541 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 09:25:02,606 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-15 09:25:02,607 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 09:25:02,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:25:02,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 09:25:02,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-15 09:25:02,607 INFO L87 Difference]: Start difference. First operand 95 states and 108 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 09:25:06,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:06,102 INFO L93 Difference]: Finished difference Result 154 states and 184 transitions. [2022-04-15 09:25:06,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 09:25:06,102 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 97 [2022-04-15 09:25:06,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:25:06,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 09:25:06,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-15 09:25:06,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 09:25:06,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-15 09:25:06,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-15 09:25:06,248 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-15 09:25:06,265 INFO L225 Difference]: With dead ends: 154 [2022-04-15 09:25:06,265 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 09:25:06,265 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 172 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=139, Invalid=673, Unknown=0, NotChecked=0, Total=812 [2022-04-15 09:25:06,266 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 36 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 661 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 273 SdHoareTripleChecker+Invalid, 708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 661 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-15 09:25:06,266 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 273 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 661 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 09:25:06,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 09:25:06,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-15 09:25:06,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:25:06,479 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 09:25:06,479 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 09:25:06,479 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 09:25:06,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:06,482 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-15 09:25:06,482 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 09:25:06,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:25:06,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:25:06,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-15 09:25:06,483 INFO L87 Difference]: Start difference. First operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 129 states. [2022-04-15 09:25:06,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:06,487 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-15 09:25:06,487 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 09:25:06,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:25:06,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:25:06,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:25:06,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:25:06,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 77 states have (on average 1.0909090909090908) internal successors, (84), 82 states have internal predecessors, (84), 35 states have call successors, (35), 17 states have call predecessors, (35), 16 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-15 09:25:06,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 151 transitions. [2022-04-15 09:25:06,491 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 151 transitions. Word has length 97 [2022-04-15 09:25:06,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:25:06,491 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 151 transitions. [2022-04-15 09:25:06,491 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-15 09:25:06,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 151 transitions. [2022-04-15 09:25:06,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:25:06,758 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-15 09:25:06,759 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-15 09:25:06,759 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:25:06,759 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:25:06,787 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 09:25:06,981 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:25:06,982 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:25:06,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:25:06,982 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-15 09:25:06,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:25:06,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [73823566] [2022-04-15 09:25:06,983 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:25:06,983 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-15 09:25:06,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:25:06,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1615561074] [2022-04-15 09:25:06,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:25:06,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:25:06,995 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:25:06,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1461476316] [2022-04-15 09:25:06,996 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:25:06,996 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:25:06,996 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:25:06,997 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:25:06,999 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 09:25:07,048 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:25:07,048 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:25:07,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 09:25:07,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:25:07,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:25:30,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:25:30,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {9693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:25:30,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:25:30,515 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:30,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:30,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,519 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:30,519 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,520 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:30,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 09:25:30,523 INFO L290 TraceCheckUtils]: 23: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !false; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 09:25:30,524 INFO L272 TraceCheckUtils]: 24: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,524 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,524 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,524 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,524 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #87#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 09:25:30,524 INFO L272 TraceCheckUtils]: 29: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,525 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,525 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,525 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,525 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #89#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 09:25:30,525 INFO L272 TraceCheckUtils]: 34: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,526 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,526 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,526 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,526 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} #91#return; {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} is VALID [2022-04-15 09:25:30,528 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#(< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,529 INFO L272 TraceCheckUtils]: 41: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,529 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,529 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,530 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,530 INFO L272 TraceCheckUtils]: 46: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,530 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,530 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,530 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,531 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,531 INFO L272 TraceCheckUtils]: 51: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,531 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,531 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,531 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,532 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,534 INFO L290 TraceCheckUtils]: 56: Hoare triple {9793#(and (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,535 INFO L290 TraceCheckUtils]: 57: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,535 INFO L272 TraceCheckUtils]: 58: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,535 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,535 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,535 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,536 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #87#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,536 INFO L272 TraceCheckUtils]: 63: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,536 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,536 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,536 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,537 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #89#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,537 INFO L272 TraceCheckUtils]: 68: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,537 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,537 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,537 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,538 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #91#return; {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,539 INFO L290 TraceCheckUtils]: 73: Hoare triple {9845#(and (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !(~r~0 >= ~d~0); {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,539 INFO L290 TraceCheckUtils]: 74: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !false; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,539 INFO L272 TraceCheckUtils]: 75: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,539 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,539 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,540 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,540 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #93#return; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,540 INFO L272 TraceCheckUtils]: 80: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,541 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,541 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,541 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,541 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} #95#return; {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,546 INFO L290 TraceCheckUtils]: 85: Hoare triple {9897#(and (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} is VALID [2022-04-15 09:25:30,550 INFO L290 TraceCheckUtils]: 86: Hoare triple {9934#(and (< main_~d~0 (+ main_~r~0 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (+ 2 (* (- 1) main_~r~0)) (- 4294967296)) 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 09:25:30,551 INFO L290 TraceCheckUtils]: 87: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} assume !false; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 09:25:30,551 INFO L272 TraceCheckUtils]: 88: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,551 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,551 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,551 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,552 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #93#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 09:25:30,552 INFO L272 TraceCheckUtils]: 93: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:30,552 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:30,552 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:30,552 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:30,553 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} #95#return; {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} is VALID [2022-04-15 09:25:30,556 INFO L290 TraceCheckUtils]: 98: Hoare triple {9938#(and (< (div (+ (* (- 1) main_~d~0) 2 (* (- 1) main_~r~0)) (- 4294967296)) 1) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (< 0 (+ main_~r~0 1)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-15 09:25:30,558 INFO L290 TraceCheckUtils]: 99: Hoare triple {9975#(and (< (div (+ (div (+ 2 (* (- 1) main_~r~0)) 2) (* (- 1) (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)))) (- 2147483648)) 1) (< 0 (+ main_~r~0 1)) (< (div (+ (* (- 1) main_~d~0) (div (+ (- 1) (* (- 1) main_~r~0)) 2)) (- 2)) (+ main_~d~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-15 09:25:30,558 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 09:25:30,558 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-15 09:25:30,558 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-15 09:25:30,558 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-15 09:25:30,558 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 09:25:30,559 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-15 09:25:30,559 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:25:32,741 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 09:25:32,742 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-15 09:25:32,742 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-15 09:25:32,742 INFO L272 TraceCheckUtils]: 101: Hoare triple {9668#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9668#false} is VALID [2022-04-15 09:25:32,742 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-15 09:25:32,742 INFO L290 TraceCheckUtils]: 99: Hoare triple {10009#(not (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9668#false} is VALID [2022-04-15 09:25:32,744 INFO L290 TraceCheckUtils]: 98: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10009#(not (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,745 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #95#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 09:25:32,745 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,745 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,745 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,745 INFO L272 TraceCheckUtils]: 93: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,745 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9667#true} {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} #93#return; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 09:25:32,746 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,746 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,746 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,746 INFO L272 TraceCheckUtils]: 88: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,747 INFO L290 TraceCheckUtils]: 87: Hoare triple {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} assume !false; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 09:25:32,748 INFO L290 TraceCheckUtils]: 86: Hoare triple {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10013#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)))} is VALID [2022-04-15 09:25:32,751 INFO L290 TraceCheckUtils]: 85: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10050#(and (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))))} is VALID [2022-04-15 09:25:32,756 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #95#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 09:25:32,756 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,756 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,756 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,756 INFO L272 TraceCheckUtils]: 80: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,757 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9667#true} {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} #93#return; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 09:25:32,757 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,757 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,757 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,757 INFO L272 TraceCheckUtils]: 75: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,759 INFO L290 TraceCheckUtils]: 74: Hoare triple {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} assume !false; {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 09:25:32,761 INFO L290 TraceCheckUtils]: 73: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10054#(and (not (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0))))) (or (not (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))} is VALID [2022-04-15 09:25:32,762 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #91#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,762 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,762 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,762 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,762 INFO L272 TraceCheckUtils]: 68: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #89#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L272 TraceCheckUtils]: 63: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9667#true} {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} #87#return; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,763 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,764 INFO L272 TraceCheckUtils]: 58: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,764 INFO L290 TraceCheckUtils]: 57: Hoare triple {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} assume !false; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10091#(or (< (div main_~d~0 2) 0) (not (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:25:32,766 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:25:32,766 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,766 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,766 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,766 INFO L272 TraceCheckUtils]: 51: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,766 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:25:32,766 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,766 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L272 TraceCheckUtils]: 46: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9667#true} {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:25:32,767 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,767 INFO L272 TraceCheckUtils]: 41: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,768 INFO L290 TraceCheckUtils]: 40: Hoare triple {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:25:32,769 INFO L290 TraceCheckUtils]: 39: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10143#(or (< main_~r~0 (+ main_~d~0 (div main_~d~0 2))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:25:32,769 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #91#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 09:25:32,769 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,769 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,769 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,770 INFO L272 TraceCheckUtils]: 34: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,770 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #89#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 09:25:32,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,770 INFO L272 TraceCheckUtils]: 29: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,771 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9667#true} {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} #87#return; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 09:25:32,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,771 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,771 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,771 INFO L272 TraceCheckUtils]: 24: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} assume !false; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 09:25:32,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10195#(<= (div (+ (- 1) (* (- 1) main_~r~0)) (- 3)) (+ (div main_~r~0 4) 1))} is VALID [2022-04-15 09:25:32,772 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #85#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:32,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L272 TraceCheckUtils]: 17: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9667#true} {9704#(<= (mod main_~A~0 4294967296) 2)} #83#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L272 TraceCheckUtils]: 12: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {9704#(<= (mod main_~A~0 4294967296) 2)} ~B~0 := #t~nondet5;havoc #t~nondet5; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:32,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} {9667#true} #81#return; {9704#(<= (mod main_~A~0 4294967296) 2)} is VALID [2022-04-15 09:25:32,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {9697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:25:32,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:25:32,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {9667#true} ~cond := #in~cond; {10292#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 09:25:32,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {9667#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {9667#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {9667#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {9667#true} is VALID [2022-04-15 09:25:32,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-15 09:25:32,776 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 30 proven. 26 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-15 09:25:32,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:25:32,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1615561074] [2022-04-15 09:25:32,776 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:25:32,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1461476316] [2022-04-15 09:25:32,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1461476316] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:25:32,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:25:32,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 20 [2022-04-15 09:25:32,776 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:25:32,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [73823566] [2022-04-15 09:25:32,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [73823566] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:25:32,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:25:32,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 09:25:32,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [371330146] [2022-04-15 09:25:32,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:25:32,777 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 09:25:32,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:25:32,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 09:25:32,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:25:32,876 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 09:25:32,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:25:32,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 09:25:32,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=297, Unknown=0, NotChecked=0, Total=380 [2022-04-15 09:25:32,877 INFO L87 Difference]: Start difference. First operand 129 states and 151 transitions. Second operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 09:25:38,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:38,343 INFO L93 Difference]: Finished difference Result 176 states and 217 transitions. [2022-04-15 09:25:38,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 09:25:38,344 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-15 09:25:38,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:25:38,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 09:25:38,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-15 09:25:38,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 09:25:38,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-15 09:25:38,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-15 09:25:38,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:25:38,510 INFO L225 Difference]: With dead ends: 176 [2022-04-15 09:25:38,510 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 09:25:38,510 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 190 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=165, Invalid=591, Unknown=0, NotChecked=0, Total=756 [2022-04-15 09:25:38,511 INFO L913 BasicCegarLoop]: 68 mSDtfsCounter, 34 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-15 09:25:38,511 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 272 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-15 09:25:38,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 09:25:38,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 142. [2022-04-15 09:25:38,810 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:25:38,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 09:25:38,810 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 09:25:38,810 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 09:25:38,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:38,814 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-15 09:25:38,814 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-15 09:25:38,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:25:38,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:25:38,815 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-15 09:25:38,815 INFO L87 Difference]: Start difference. First operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 148 states. [2022-04-15 09:25:38,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:25:38,819 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-15 09:25:38,819 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-15 09:25:38,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:25:38,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:25:38,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:25:38,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:25:38,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 85 states have (on average 1.1176470588235294) internal successors, (95), 89 states have internal predecessors, (95), 40 states have call successors, (40), 17 states have call predecessors, (40), 16 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 09:25:38,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 172 transitions. [2022-04-15 09:25:38,824 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 172 transitions. Word has length 105 [2022-04-15 09:25:38,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:25:38,824 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 172 transitions. [2022-04-15 09:25:38,824 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.5) internal successors, (30), 12 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 7 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-15 09:25:38,824 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 172 transitions. [2022-04-15 09:25:39,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:25:39,189 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-04-15 09:25:39,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-15 09:25:39,190 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:25:39,190 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:25:39,207 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 09:25:39,395 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 09:25:39,395 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:25:39,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:25:39,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-15 09:25:39,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:25:39,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1843677953] [2022-04-15 09:25:39,396 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:25:39,396 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-15 09:25:39,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:25:39,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [630035176] [2022-04-15 09:25:39,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:25:39,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:25:39,406 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:25:39,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [52155589] [2022-04-15 09:25:39,407 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 09:25:39,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:25:39,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:25:39,408 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:25:39,419 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 09:25:39,482 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 09:25:39,482 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:25:39,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 09:25:39,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:25:39,505 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:25:51,858 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 09:26:22,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-15 09:26:22,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11264#true} is VALID [2022-04-15 09:26:22,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,024 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-15 09:26:22,024 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,024 INFO L272 TraceCheckUtils]: 24: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,025 INFO L272 TraceCheckUtils]: 29: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,026 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,026 INFO L272 TraceCheckUtils]: 34: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,026 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,026 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,027 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,027 INFO L290 TraceCheckUtils]: 39: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,027 INFO L290 TraceCheckUtils]: 40: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,027 INFO L272 TraceCheckUtils]: 41: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,028 INFO L272 TraceCheckUtils]: 46: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,029 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,029 INFO L272 TraceCheckUtils]: 51: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,029 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,029 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,030 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 09:26:22,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {11335#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:26:22,032 INFO L290 TraceCheckUtils]: 57: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:26:22,032 INFO L272 TraceCheckUtils]: 58: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,032 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,032 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,032 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,032 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:26:22,033 INFO L272 TraceCheckUtils]: 63: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,033 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,033 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:26:22,033 INFO L272 TraceCheckUtils]: 68: Hoare triple {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,033 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:26:22,034 INFO L290 TraceCheckUtils]: 70: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:26:22,034 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:26:22,035 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11438#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-15 09:26:22,038 INFO L290 TraceCheckUtils]: 73: Hoare triple {11489#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,039 INFO L290 TraceCheckUtils]: 74: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,039 INFO L272 TraceCheckUtils]: 75: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,039 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,039 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,039 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,040 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #87#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,040 INFO L272 TraceCheckUtils]: 80: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,040 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,040 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,040 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,041 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #89#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,041 INFO L272 TraceCheckUtils]: 85: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,041 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,041 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,041 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,041 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #91#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,042 INFO L290 TraceCheckUtils]: 90: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !(~r~0 >= ~d~0); {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,042 INFO L290 TraceCheckUtils]: 91: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !false; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,042 INFO L272 TraceCheckUtils]: 92: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,042 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,042 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,043 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,043 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #93#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:22,043 INFO L272 TraceCheckUtils]: 97: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:22,043 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:26:22,043 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:26:22,043 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:26:22,044 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} #95#return; {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} is VALID [2022-04-15 09:26:24,047 WARN L290 TraceCheckUtils]: 102: Hoare triple {11493#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~p~0 2) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0) (= main_~d~0 (* (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} is UNKNOWN [2022-04-15 09:26:24,051 INFO L290 TraceCheckUtils]: 103: Hoare triple {11581#(and (= (mod main_~A~0 4294967296) main_~r~0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 09:26:24,053 INFO L290 TraceCheckUtils]: 104: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-15 09:26:24,053 INFO L272 TraceCheckUtils]: 105: Hoare triple {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:26:24,053 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:26:24,054 INFO L290 TraceCheckUtils]: 107: Hoare triple {11478#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:26:24,054 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:26:24,055 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11585#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} is VALID [2022-04-15 09:26:24,587 INFO L272 TraceCheckUtils]: 110: Hoare triple {11604#(or (and (= (mod (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) 0) (< (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296))) (+ (* main_~p~0 2) 2)) (not (= (mod main_~B~0 4294967296) 0)) (<= (* main_~p~0 2) (* 4 (div (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)))) (= (mod main_~d~0 2) 0)) (and (< (div (* (- 2) main_~p~0) (- 4)) (+ (div (+ (* main_~p~0 2) 1) 4) 1)) (= (mod main_~B~0 4294967296) 0) (= (mod main_~d~0 2) 0) (= (div (- main_~d~0) (- 2)) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:26:24,588 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:26:24,588 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-15 09:26:24,588 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-15 09:26:24,588 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 116 proven. 20 refuted. 0 times theorem prover too weak. 359 trivial. 0 not checked. [2022-04-15 09:26:24,589 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:27:41,434 INFO L290 TraceCheckUtils]: 113: Hoare triple {11265#false} assume !false; {11265#false} is VALID [2022-04-15 09:27:41,435 INFO L290 TraceCheckUtils]: 112: Hoare triple {11612#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11265#false} is VALID [2022-04-15 09:27:41,435 INFO L290 TraceCheckUtils]: 111: Hoare triple {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11612#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:27:41,436 INFO L272 TraceCheckUtils]: 110: Hoare triple {11628#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11608#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:27:41,437 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} #93#return; {11628#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:27:41,437 INFO L290 TraceCheckUtils]: 108: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:27:41,437 INFO L290 TraceCheckUtils]: 107: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:27:41,438 INFO L290 TraceCheckUtils]: 106: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:27:41,438 INFO L272 TraceCheckUtils]: 105: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,438 INFO L290 TraceCheckUtils]: 104: Hoare triple {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !false; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:27:41,441 INFO L290 TraceCheckUtils]: 103: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11632#(or (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:27:41,455 INFO L290 TraceCheckUtils]: 102: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:27:41,456 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #95#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,456 INFO L290 TraceCheckUtils]: 100: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,456 INFO L290 TraceCheckUtils]: 99: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,456 INFO L290 TraceCheckUtils]: 98: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,456 INFO L272 TraceCheckUtils]: 97: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,457 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #93#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,457 INFO L290 TraceCheckUtils]: 95: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,457 INFO L290 TraceCheckUtils]: 94: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,457 INFO L290 TraceCheckUtils]: 93: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,457 INFO L272 TraceCheckUtils]: 92: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,459 INFO L290 TraceCheckUtils]: 91: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,460 INFO L290 TraceCheckUtils]: 90: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !(~r~0 >= ~d~0); {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,461 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #91#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,461 INFO L290 TraceCheckUtils]: 88: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,461 INFO L290 TraceCheckUtils]: 87: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,461 INFO L290 TraceCheckUtils]: 86: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,461 INFO L272 TraceCheckUtils]: 85: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,461 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #89#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,462 INFO L290 TraceCheckUtils]: 83: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,462 INFO L290 TraceCheckUtils]: 82: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,462 INFO L290 TraceCheckUtils]: 81: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,462 INFO L272 TraceCheckUtils]: 80: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,462 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11264#true} {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #87#return; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,462 INFO L290 TraceCheckUtils]: 78: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,462 INFO L290 TraceCheckUtils]: 77: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,463 INFO L290 TraceCheckUtils]: 76: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,463 INFO L272 TraceCheckUtils]: 75: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,464 INFO L290 TraceCheckUtils]: 74: Hoare triple {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,470 INFO L290 TraceCheckUtils]: 73: Hoare triple {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11656#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-15 09:27:41,471 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} {11264#true} #91#return; {11652#(or (not (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:27:41,471 INFO L290 TraceCheckUtils]: 71: Hoare triple {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 70: Hoare triple {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11482#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 69: Hoare triple {11264#true} ~cond := #in~cond; {11642#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:27:41,472 INFO L272 TraceCheckUtils]: 68: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 66: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 65: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 64: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L272 TraceCheckUtils]: 63: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 09:27:41,472 INFO L290 TraceCheckUtils]: 61: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 60: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 59: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L272 TraceCheckUtils]: 58: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 57: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 56: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 54: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 53: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 52: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L272 TraceCheckUtils]: 51: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 49: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 48: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 47: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L272 TraceCheckUtils]: 46: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 44: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,473 INFO L290 TraceCheckUtils]: 43: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 42: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L272 TraceCheckUtils]: 41: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 40: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {11264#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11264#true} {11264#true} #91#return; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 36: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L272 TraceCheckUtils]: 34: Hoare triple {11264#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11264#true} {11264#true} #89#return; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 30: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L272 TraceCheckUtils]: 29: Hoare triple {11264#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11264#true} {11264#true} #87#return; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L272 TraceCheckUtils]: 24: Hoare triple {11264#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {11264#true} assume !false; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {11264#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11264#true} {11264#true} #85#return; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L272 TraceCheckUtils]: 17: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11264#true} {11264#true} #83#return; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L272 TraceCheckUtils]: 12: Hoare triple {11264#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {11264#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11264#true} {11264#true} #81#return; {11264#true} is VALID [2022-04-15 09:27:41,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {11264#true} assume !(0 == ~cond); {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {11264#true} ~cond := #in~cond; {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {11264#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {11264#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {11264#true} call #t~ret6 := main(); {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11264#true} {11264#true} #101#return; {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {11264#true} assume true; {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {11264#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {11264#true} call ULTIMATE.init(); {11264#true} is VALID [2022-04-15 09:27:41,476 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 107 proven. 21 refuted. 0 times theorem prover too weak. 367 trivial. 0 not checked. [2022-04-15 09:27:41,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:27:41,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [630035176] [2022-04-15 09:27:41,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:27:41,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [52155589] [2022-04-15 09:27:41,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [52155589] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:27:41,477 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:27:41,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 09:27:41,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:27:41,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1843677953] [2022-04-15 09:27:41,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1843677953] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:27:41,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:27:41,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 09:27:41,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1470387998] [2022-04-15 09:27:41,477 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:27:41,478 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 09:27:41,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:27:41,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 09:27:44,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 61 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 09:27:44,131 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 09:27:44,131 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:27:44,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 09:27:44,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=227, Unknown=5, NotChecked=0, Total=306 [2022-04-15 09:27:44,131 INFO L87 Difference]: Start difference. First operand 142 states and 172 transitions. Second operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 09:27:49,993 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:27:51,999 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:27:55,259 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:27:58,056 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:00,071 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:02,092 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:06,275 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:08,281 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:13,670 WARN L232 SmtUtils]: Spent 5.24s on a formula simplification. DAG size of input: 53 DAG size of output: 22 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 09:28:15,746 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:17,791 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:19,899 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:21,955 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:23,975 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:26,042 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:28,140 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:30,372 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:32,402 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:34,418 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:38,105 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.55s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:40,150 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:42,156 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:46,056 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.79s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:48,091 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:50,100 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:52,124 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:28:53,908 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.03s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 09:29:02,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:29:02,458 INFO L93 Difference]: Finished difference Result 161 states and 188 transitions. [2022-04-15 09:29:02,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 09:29:02,458 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-15 09:29:02,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:29:02,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 09:29:02,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-15 09:29:02,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 09:29:02,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 85 transitions. [2022-04-15 09:29:02,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 85 transitions. [2022-04-15 09:29:08,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 83 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 09:29:08,185 INFO L225 Difference]: With dead ends: 161 [2022-04-15 09:29:08,185 INFO L226 Difference]: Without dead ends: 149 [2022-04-15 09:29:08,186 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 209 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 20.6s TimeCoverageRelationStatistics Valid=99, Invalid=316, Unknown=5, NotChecked=0, Total=420 [2022-04-15 09:29:08,186 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 16 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 241 mSolverCounterSat, 27 mSolverCounterUnsat, 23 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 58.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 291 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 241 IncrementalHoareTripleChecker+Invalid, 23 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 58.4s IncrementalHoareTripleChecker+Time [2022-04-15 09:29:08,186 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 174 Invalid, 291 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 241 Invalid, 23 Unknown, 0 Unchecked, 58.4s Time] [2022-04-15 09:29:08,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-15 09:29:08,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 149. [2022-04-15 09:29:08,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:29:08,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 09:29:08,498 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 09:29:08,499 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 09:29:08,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:29:08,503 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-15 09:29:08,503 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 09:29:08,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:29:08,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:29:08,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-15 09:29:08,504 INFO L87 Difference]: Start difference. First operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand 149 states. [2022-04-15 09:29:08,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:29:08,508 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-15 09:29:08,508 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 09:29:08,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:29:08,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:29:08,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:29:08,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:29:08,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 91 states have (on average 1.098901098901099) internal successors, (100), 94 states have internal predecessors, (100), 39 states have call successors, (39), 19 states have call predecessors, (39), 18 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-15 09:29:08,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 175 transitions. [2022-04-15 09:29:08,513 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 175 transitions. Word has length 114 [2022-04-15 09:29:08,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:29:08,514 INFO L478 AbstractCegarLoop]: Abstraction has 149 states and 175 transitions. [2022-04-15 09:29:08,514 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-15 09:29:08,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 175 transitions. [2022-04-15 09:29:09,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:29:09,024 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-15 09:29:09,025 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 09:29:09,025 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:29:09,025 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:29:09,044 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 09:29:09,235 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 09:29:09,235 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:29:09,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:29:09,236 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 1 times [2022-04-15 09:29:09,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:29:09,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1013893284] [2022-04-15 09:29:09,236 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:29:09,236 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 2 times [2022-04-15 09:29:09,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:29:09,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2091465987] [2022-04-15 09:29:09,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:29:09,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:29:09,248 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:29:09,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1691506034] [2022-04-15 09:29:09,248 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:29:09,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:29:09,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:29:09,249 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:29:09,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 09:29:09,308 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:29:09,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:29:09,310 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 09:29:09,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:29:09,334 INFO L286 TraceCheckSpWp]: Computing forward predicates...