/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:57:10,697 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:57:10,724 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:57:10,756 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:57:10,757 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:57:10,757 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:57:10,758 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:57:10,763 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:57:10,766 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:57:10,767 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:57:10,767 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:57:10,768 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:57:10,768 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:57:10,769 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:57:10,769 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:57:10,770 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:57:10,770 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:57:10,771 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:57:10,772 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:57:10,773 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:57:10,774 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:57:10,779 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:57:10,781 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:57:10,783 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:57:10,784 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:57:10,786 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:57:10,786 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:57:10,786 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:57:10,787 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:57:10,787 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:57:10,788 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:57:10,788 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:57:10,788 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:57:10,788 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:57:10,789 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:57:10,789 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:57:10,790 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:57:10,790 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:57:10,790 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:57:10,790 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:57:10,791 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:57:10,791 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:57:10,792 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:57:10,797 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:57:10,798 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:57:10,798 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:57:10,799 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:57:10,800 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:57:10,800 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:57:10,800 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:57:10,800 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:57:10,800 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:57:10,800 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:57:10,800 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:57:10,801 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:57:10,801 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:57:10,801 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:57:10,801 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:57:10,801 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-28 12:57:10,981 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:57:10,996 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:57:10,997 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:57:10,998 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:57:11,000 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:57:11,001 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-28 12:57:11,046 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a2572aed/43d3e5e3953e4bcd8e31fb57dc46beb9/FLAG68e09ea28 [2022-04-28 12:57:11,405 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:57:11,405 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-28 12:57:11,409 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a2572aed/43d3e5e3953e4bcd8e31fb57dc46beb9/FLAG68e09ea28 [2022-04-28 12:57:11,416 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a2572aed/43d3e5e3953e4bcd8e31fb57dc46beb9 [2022-04-28 12:57:11,418 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:57:11,419 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:57:11,420 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:57:11,420 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:57:11,422 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:57:11,423 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,424 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@66f685f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11, skipping insertion in model container [2022-04-28 12:57:11,424 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,430 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:57:11,441 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:57:11,569 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-28 12:57:11,581 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:57:11,604 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:57:11,612 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-28 12:57:11,617 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:57:11,625 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:57:11,625 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11 WrapperNode [2022-04-28 12:57:11,626 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:57:11,626 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:57:11,626 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:57:11,626 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:57:11,635 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,636 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,639 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,640 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,644 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,646 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,647 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,648 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:57:11,649 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:57:11,649 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:57:11,649 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:57:11,664 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (1/1) ... [2022-04-28 12:57:11,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:57:11,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:11,686 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-28 12:57:11,707 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-28 12:57:11,720 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:57:11,720 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:57:11,720 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:57:11,720 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:57:11,721 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:57:11,721 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:57:11,721 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:57:11,721 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:57:11,721 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:57:11,721 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:57:11,721 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 12:57:11,722 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:57:11,722 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:57:11,722 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:57:11,722 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:57:11,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:57:11,724 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:57:11,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:57:11,724 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:57:11,724 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:57:11,769 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:57:11,770 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:57:11,946 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:57:11,951 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:57:11,951 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:57:11,952 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:57:11 BoogieIcfgContainer [2022-04-28 12:57:11,952 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:57:11,953 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:57:11,953 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:57:11,976 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:57:11,977 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:57:11" (1/3) ... [2022-04-28 12:57:11,977 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2abe024c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:57:11, skipping insertion in model container [2022-04-28 12:57:11,977 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:57:11" (2/3) ... [2022-04-28 12:57:11,977 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2abe024c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:57:11, skipping insertion in model container [2022-04-28 12:57:11,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:57:11" (3/3) ... [2022-04-28 12:57:11,978 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-28 12:57:11,988 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:57:11,988 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:57:12,032 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:57:12,037 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@21c22b0a, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@67bed086 [2022-04-28 12:57:12,038 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:57:12,052 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-28 12:57:12,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:57:12,058 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:12,058 INFO L195 NwaCegarLoop]: 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-28 12:57:12,059 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:12,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:12,063 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-28 12:57:12,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:12,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1390889217] [2022-04-28 12:57:12,078 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:12,078 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-28 12:57:12,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:12,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1579653100] [2022-04-28 12:57:12,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:12,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:12,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:57:12,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,266 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-28 12:57:12,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:57:12,267 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:57:12,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:57:12,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,275 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:57:12,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:57:12,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:57:12,295 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:57:12,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,301 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:57:12,302 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-28 12:57:12,303 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-28 12:57:12,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:57:12,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:57:12,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-28 12:57:12,303 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-28 12:57:12,304 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-28 12:57:12,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:57:12,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-28 12:57:12,305 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-28 12:57:12,305 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,305 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,306 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,306 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:57:12,306 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-28 12:57:12,306 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:57:12,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:57:12,307 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:57:12,307 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:57:12,307 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-28 12:57:12,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:57:12,307 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-28 12:57:12,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-28 12:57:12,308 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-28 12:57:12,308 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:57:12,308 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-28 12:57:12,308 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:12,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1579653100] [2022-04-28 12:57:12,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1579653100] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:12,309 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:12,309 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:57:12,311 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:12,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1390889217] [2022-04-28 12:57:12,312 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1390889217] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:12,312 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:12,312 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:57:12,312 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49086173] [2022-04-28 12:57:12,312 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:12,325 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-28 12:57:12,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:12,328 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-28 12:57:12,352 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-28 12:57:12,353 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:57:12,353 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:12,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:57:12,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:57:12,370 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-28 12:57:12,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:12,564 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-28 12:57:12,564 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:57:12,564 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-28 12:57:12,565 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:12,565 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-28 12:57:12,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:57:12,572 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-28 12:57:12,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:57:12,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 12:57:12,708 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-28 12:57:12,721 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:57:12,722 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 12:57:12,727 INFO L412 NwaCegarLoop]: 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-28 12:57:12,729 INFO L413 NwaCegarLoop]: 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-28 12:57:12,730 INFO L414 NwaCegarLoop]: 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-28 12:57:12,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 12:57:12,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-28 12:57:12,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:12,751 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-28 12:57:12,751 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-28 12:57:12,752 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-28 12:57:12,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:12,755 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:57:12,755 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:57:12,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:12,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:12,756 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-28 12:57:12,756 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-28 12:57:12,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:12,759 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:57:12,759 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:57:12,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:12,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:12,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:12,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:12,761 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-28 12:57:12,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-28 12:57:12,764 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-28 12:57:12,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:12,764 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-28 12:57:12,764 INFO L496 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-28 12:57:12,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-28 12:57:12,821 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-28 12:57:12,821 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:57:12,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:57:12,823 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:12,823 INFO L195 NwaCegarLoop]: 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-28 12:57:12,823 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:57:12,823 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:12,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:12,824 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-28 12:57:12,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:12,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1647160725] [2022-04-28 12:57:12,825 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:12,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-28 12:57:12,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:12,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1813342798] [2022-04-28 12:57:12,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:12,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:12,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:12,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:57:12,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,004 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-28 12:57:13,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,005 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:57:13,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:57:13,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,009 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:57:13,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:57:13,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:57:13,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:57:13,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:57:13,025 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-28 12:57:13,025 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-28 12:57:13,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,026 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:57:13,026 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-28 12:57:13,026 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-28 12:57:13,026 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-28 12:57:13,026 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,027 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:57:13,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-28 12:57:13,027 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-28 12:57:13,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,027 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,027 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,027 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:57:13,027 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-28 12:57:13,028 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:57:13,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:57:13,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:57:13,028 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:57:13,029 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-28 12:57:13,029 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-28 12:57:13,029 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-28 12:57:13,030 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-28 12:57:13,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-28 12:57:13,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-28 12:57:13,031 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-28 12:57:13,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:13,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1813342798] [2022-04-28 12:57:13,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1813342798] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:13,031 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:13,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:13,032 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:13,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1647160725] [2022-04-28 12:57:13,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1647160725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:13,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:13,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:13,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [113234398] [2022-04-28 12:57:13,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:13,033 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-28 12:57:13,033 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:13,033 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-28 12:57:13,055 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-28 12:57:13,055 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:57:13,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:13,057 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:57:13,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:57:13,058 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-28 12:57:13,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:13,456 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 12:57:13,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:57:13,457 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-28 12:57:13,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:13,457 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-28 12:57:13,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:57:13,459 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-28 12:57:13,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:57:13,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:57:13,517 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-28 12:57:13,519 INFO L225 Difference]: With dead ends: 46 [2022-04-28 12:57:13,519 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 12:57:13,519 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:57:13,520 INFO L413 NwaCegarLoop]: 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-28 12:57:13,520 INFO L414 NwaCegarLoop]: 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-28 12:57:13,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 12:57:13,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 12:57:13,526 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:13,527 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-28 12:57:13,529 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-28 12:57:13,529 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-28 12:57:13,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:13,532 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:57:13,532 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:57:13,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:13,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:13,533 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-28 12:57:13,533 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-28 12:57:13,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:13,536 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:57:13,536 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:57:13,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:13,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:13,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:13,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:13,537 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-28 12:57:13,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-28 12:57:13,539 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-28 12:57:13,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:13,539 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-28 12:57:13,539 INFO L496 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-28 12:57:13,539 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-28 12:57:13,591 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-28 12:57:13,591 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-28 12:57:13,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:57:13,592 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:13,592 INFO L195 NwaCegarLoop]: 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-28 12:57:13,592 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:57:13,592 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:13,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:13,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-28 12:57:13,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:13,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1325725955] [2022-04-28 12:57:13,595 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:13,595 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-28 12:57:13,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:13,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1709878334] [2022-04-28 12:57:13,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:13,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:13,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:57:13,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,675 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-28 12:57:13,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,675 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:57:13,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:57:13,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:57:13,680 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:57:13,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:57:13,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:57:13,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:57:13,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 12:57:13,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:13,696 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,697 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-28 12:57:13,698 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-28 12:57:13,698 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-28 12:57:13,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:57:13,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-28 12:57:13,698 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-28 12:57:13,699 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-28 12:57:13,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,699 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:57:13,699 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-28 12:57:13,699 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-28 12:57:13,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,700 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:57:13,700 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-28 12:57:13,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,700 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:57:13,703 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-28 12:57:13,704 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-28 12:57:13,704 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-28 12:57:13,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:57:13,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:57:13,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:57:13,705 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-28 12:57:13,706 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-28 12:57:13,706 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-28 12:57:13,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-28 12:57:13,707 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-28 12:57:13,707 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-28 12:57:13,707 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:13,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1709878334] [2022-04-28 12:57:13,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1709878334] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:13,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:13,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:13,708 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:13,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1325725955] [2022-04-28 12:57:13,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1325725955] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:13,708 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:13,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:13,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [256336160] [2022-04-28 12:57:13,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:13,709 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-28 12:57:13,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:13,709 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-28 12:57:13,726 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-28 12:57:13,726 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:57:13,726 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:13,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:57:13,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:57:13,727 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-28 12:57:14,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:14,142 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 12:57:14,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:57:14,143 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-28 12:57:14,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:14,143 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-28 12:57:14,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:57:14,145 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-28 12:57:14,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:57:14,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:57:14,211 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-28 12:57:14,212 INFO L225 Difference]: With dead ends: 50 [2022-04-28 12:57:14,212 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 12:57:14,212 INFO L412 NwaCegarLoop]: 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-28 12:57:14,213 INFO L413 NwaCegarLoop]: 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-28 12:57:14,213 INFO L414 NwaCegarLoop]: 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-28 12:57:14,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 12:57:14,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-28 12:57:14,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:14,227 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-28 12:57:14,227 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-28 12:57:14,227 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-28 12:57:14,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:14,229 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:57:14,229 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:57:14,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:14,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:14,230 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-28 12:57:14,230 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-28 12:57:14,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:14,232 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:57:14,232 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:57:14,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:14,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:14,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:14,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:14,233 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-28 12:57:14,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 12:57:14,235 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-28 12:57:14,235 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:14,235 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 12:57:14,235 INFO L496 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-28 12:57:14,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 12:57:14,277 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-28 12:57:14,278 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 12:57:14,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:57:14,279 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:14,279 INFO L195 NwaCegarLoop]: 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-28 12:57:14,279 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 12:57:14,282 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:14,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:14,282 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-28 12:57:14,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:14,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1395557463] [2022-04-28 12:57:14,283 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:14,283 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-28 12:57:14,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:14,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [847427729] [2022-04-28 12:57:14,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:14,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:14,306 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:14,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1569073950] [2022-04-28 12:57:14,307 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:14,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:14,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:14,309 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-28 12:57:14,328 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-28 12:57:14,353 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:14,354 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:14,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:57:14,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:14,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:15,329 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-28 12:57:15,330 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-28 12:57:15,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:57:15,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-28 12:57:15,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-28 12:57:15,335 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-28 12:57:15,335 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-28 12:57:15,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:57:15,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:57:15,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:57:15,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-28 12:57:15,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-28 12:57:15,337 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-28 12:57:15,338 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-28 12:57:15,339 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-28 12:57:15,339 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-28 12:57:15,340 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-28 12:57:15,340 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-28 12:57:15,340 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-28 12:57:15,340 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-28 12:57:15,341 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-28 12:57:15,341 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-28 12:57:15,342 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-28 12:57:15,342 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-28 12:57:15,342 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-28 12:57:15,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:57:15,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:57:15,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:57:15,343 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-28 12:57:15,352 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-28 12:57:15,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:57:15,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:57:15,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:57:15,354 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-28 12:57:15,354 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-28 12:57:15,355 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:15,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-28 12:57:15,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-28 12:57:15,356 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-28 12:57:15,356 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:57:15,356 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:15,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [847427729] [2022-04-28 12:57:15,356 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:15,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1569073950] [2022-04-28 12:57:15,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1569073950] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:15,356 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:15,356 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:57:15,357 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:15,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1395557463] [2022-04-28 12:57:15,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1395557463] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:15,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:15,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:57:15,357 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [65089821] [2022-04-28 12:57:15,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:15,357 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-28 12:57:15,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:15,358 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-28 12:57:15,383 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-28 12:57:15,383 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:57:15,383 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:15,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:57:15,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:57:15,385 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-28 12:57:15,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:15,787 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-28 12:57:15,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:57:15,787 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-28 12:57:15,788 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:15,788 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-28 12:57:15,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:57:15,790 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-28 12:57:15,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:57:15,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-28 12:57:15,858 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-28 12:57:15,859 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:57:15,859 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 12:57:15,860 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:57:15,860 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:15,860 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:57:15,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 12:57:15,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-28 12:57:15,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:15,894 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-28 12:57:15,895 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-28 12:57:15,895 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-28 12:57:15,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:15,897 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:57:15,897 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:57:15,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:15,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:15,898 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-28 12:57:15,898 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-28 12:57:15,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:15,900 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:57:15,900 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:57:15,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:15,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:15,901 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:15,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:15,901 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-28 12:57:15,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-28 12:57:15,903 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-28 12:57:15,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:15,903 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-28 12:57:15,903 INFO L496 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-28 12:57:15,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-28 12:57:15,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:15,969 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:57:15,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 12:57:15,970 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:15,970 INFO L195 NwaCegarLoop]: 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-28 12:57:16,007 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-28 12:57:16,171 WARN L477 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-28 12:57:16,172 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:16,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:16,172 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-28 12:57:16,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:16,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1927894679] [2022-04-28 12:57:16,173 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:16,173 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-28 12:57:16,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:16,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2066978693] [2022-04-28 12:57:16,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:16,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:16,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:16,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [743631057] [2022-04-28 12:57:16,199 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:16,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:16,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:16,200 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-28 12:57:16,201 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-28 12:57:16,234 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:16,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:16,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:57:16,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:16,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:17,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 12:57:17,291 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-28 12:57:17,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 12:57:17,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 12:57:17,291 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-28 12:57:17,291 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-28 12:57:17,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,292 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 12:57:17,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 12:57:17,292 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-28 12:57:17,295 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-28 12:57:17,296 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-28 12:57:17,296 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-28 12:57:17,297 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-28 12:57:17,297 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-28 12:57:17,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,297 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,297 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-28 12:57:17,298 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-28 12:57:17,298 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-28 12:57:17,298 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-28 12:57:17,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,299 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-28 12:57:17,299 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-28 12:57:17,300 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,300 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,300 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-28 12:57:17,300 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-28 12:57:17,300 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,301 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,305 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-28 12:57:17,305 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-28 12:57:17,306 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-28 12:57:17,307 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-28 12:57:17,307 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:17,307 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 12:57:17,307 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 12:57:17,308 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-28 12:57:17,308 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:17,645 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 12:57:17,646 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 12:57:17,646 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:17,647 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-28 12:57:17,648 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-28 12:57:17,648 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-28 12:57:17,649 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-28 12:57:17,649 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,649 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,649 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,649 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-28 12:57:17,650 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-28 12:57:17,650 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,650 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-28 12:57:17,650 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-28 12:57:17,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,651 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,651 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,651 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-28 12:57:17,655 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-28 12:57:17,655 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-28 12:57:17,656 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1413#true} #85#return; {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,656 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-28 12:57:17,656 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1413#true} {1413#true} #83#return; {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 15: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,656 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-28 12:57:17,656 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:57:17,657 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-28 12:57:17,657 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-28 12:57:17,657 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 12:57:17,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:57:17,657 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-28 12:57:17,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 12:57:17,658 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-28 12:57:17,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:17,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2066978693] [2022-04-28 12:57:17,658 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:17,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [743631057] [2022-04-28 12:57:17,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [743631057] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:57:17,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:57:17,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-28 12:57:17,658 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:17,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1927894679] [2022-04-28 12:57:17,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1927894679] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:17,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:17,659 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:57:17,659 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [572796341] [2022-04-28 12:57:17,659 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:17,659 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-28 12:57:17,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:17,659 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-28 12:57:17,690 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-28 12:57:17,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:57:17,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:17,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:57:17,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:57:17,691 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-28 12:57:17,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:17,961 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-28 12:57:17,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:57:17,961 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-28 12:57:17,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:17,962 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-28 12:57:17,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:57:17,963 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-28 12:57:17,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:57:17,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 12:57:18,010 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-28 12:57:18,011 INFO L225 Difference]: With dead ends: 68 [2022-04-28 12:57:18,011 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 12:57:18,012 INFO L412 NwaCegarLoop]: 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-28 12:57:18,012 INFO L413 NwaCegarLoop]: 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-28 12:57:18,012 INFO L414 NwaCegarLoop]: 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-28 12:57:18,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 12:57:18,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-28 12:57:18,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:18,053 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-28 12:57:18,053 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-28 12:57:18,053 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-28 12:57:18,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:18,056 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 12:57:18,056 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 12:57:18,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:18,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:18,056 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-28 12:57:18,057 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-28 12:57:18,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:18,059 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 12:57:18,059 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 12:57:18,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:18,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:18,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:18,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:18,059 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-28 12:57:18,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-28 12:57:18,061 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-28 12:57:18,061 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:18,061 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-28 12:57:18,061 INFO L496 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-28 12:57:18,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-28 12:57:18,152 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-28 12:57:18,152 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-28 12:57:18,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:57:18,152 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:18,152 INFO L195 NwaCegarLoop]: 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-28 12:57:18,176 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:18,359 WARN L477 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-28 12:57:18,359 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:18,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:18,360 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-28 12:57:18,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:18,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1383202642] [2022-04-28 12:57:18,360 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:18,360 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-28 12:57:18,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:18,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1650853415] [2022-04-28 12:57:18,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:18,361 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:18,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:18,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2066745434] [2022-04-28 12:57:18,372 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:18,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:18,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:18,374 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-28 12:57:18,375 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-28 12:57:18,417 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:18,417 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:18,418 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:57:18,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:18,428 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:19,735 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-28 12:57:19,736 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-28 12:57:19,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-28 12:57:19,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-28 12:57:19,736 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-28 12:57:19,736 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-28 12:57:19,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-28 12:57:19,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-28 12:57:19,737 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-28 12:57:19,737 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-28 12:57:19,738 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-28 12:57:19,738 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-28 12:57:19,738 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-28 12:57:19,738 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-28 12:57:19,739 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-28 12:57:19,739 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-28 12:57:19,739 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-28 12:57:19,740 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-28 12:57:19,740 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-28 12:57:19,741 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-28 12:57:19,741 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-28 12:57:19,741 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,741 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,741 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,743 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-28 12:57:19,743 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-28 12:57:19,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,744 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-28 12:57:19,744 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-28 12:57:19,744 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,745 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-28 12:57:19,746 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-28 12:57:19,746 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-28 12:57:19,746 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-28 12:57:19,746 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,747 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-28 12:57:19,747 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-28 12:57:19,747 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:19,747 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:19,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:19,748 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-28 12:57:19,748 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-28 12:57:19,749 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:19,749 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-28 12:57:19,749 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-28 12:57:19,751 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-28 12:57:19,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:20,201 INFO L290 TraceCheckUtils]: 54: Hoare triple {2092#false} assume !false; {2092#false} is VALID [2022-04-28 12:57:20,202 INFO L290 TraceCheckUtils]: 53: Hoare triple {2259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2092#false} is VALID [2022-04-28 12:57:20,202 INFO L290 TraceCheckUtils]: 52: Hoare triple {2255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:20,203 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-28 12:57:20,204 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-28 12:57:20,204 INFO L290 TraceCheckUtils]: 49: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,204 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-28 12:57:20,205 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-28 12:57:20,205 INFO L290 TraceCheckUtils]: 44: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,205 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-28 12:57:20,206 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-28 12:57:20,339 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-28 12:57:20,340 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-28 12:57:20,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,340 INFO L290 TraceCheckUtils]: 35: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,340 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-28 12:57:20,341 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-28 12:57:20,341 INFO L290 TraceCheckUtils]: 32: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,341 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-28 12:57:20,342 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-28 12:57:20,342 INFO L290 TraceCheckUtils]: 27: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,342 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-28 12:57:20,343 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-28 12:57:20,343 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-28 12:57:20,343 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2091#true} {2091#true} #85#return; {2091#true} is VALID [2022-04-28 12:57:20,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,343 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-28 12:57:20,343 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2091#true} {2091#true} #83#return; {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,344 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-28 12:57:20,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {2091#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2091#true} {2091#true} #81#return; {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {2091#true} assume !(0 == ~cond); {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#true} ~cond := #in~cond; {2091#true} is VALID [2022-04-28 12:57:20,344 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-28 12:57:20,344 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-28 12:57:20,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {2091#true} call #t~ret6 := main(); {2091#true} is VALID [2022-04-28 12:57:20,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2091#true} {2091#true} #101#return; {2091#true} is VALID [2022-04-28 12:57:20,345 INFO L290 TraceCheckUtils]: 2: Hoare triple {2091#true} assume true; {2091#true} is VALID [2022-04-28 12:57:20,345 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-28 12:57:20,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {2091#true} call ULTIMATE.init(); {2091#true} is VALID [2022-04-28 12:57:20,345 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-28 12:57:20,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:20,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1650853415] [2022-04-28 12:57:20,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:20,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2066745434] [2022-04-28 12:57:20,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2066745434] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:57:20,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:57:20,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 12:57:20,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:20,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1383202642] [2022-04-28 12:57:20,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1383202642] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:20,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:20,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:57:20,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1608802897] [2022-04-28 12:57:20,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:20,346 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-28 12:57:20,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:20,346 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-28 12:57:20,374 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-28 12:57:20,374 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:57:20,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:20,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:57:20,375 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:57:20,375 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-28 12:57:20,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:20,712 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-28 12:57:20,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:57:20,712 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-28 12:57:20,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:20,713 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-28 12:57:20,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:57:20,714 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-28 12:57:20,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:57:20,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 12:57:20,756 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-28 12:57:20,758 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:57:20,758 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:57:20,758 INFO L412 NwaCegarLoop]: 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-28 12:57:20,758 INFO L413 NwaCegarLoop]: 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-28 12:57:20,759 INFO L414 NwaCegarLoop]: 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-28 12:57:20,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:57:20,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-28 12:57:20,803 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:20,804 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-28 12:57:20,804 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-28 12:57:20,804 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-28 12:57:20,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:20,806 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 12:57:20,806 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 12:57:20,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:20,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:20,807 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-28 12:57:20,807 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-28 12:57:20,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:20,809 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 12:57:20,809 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 12:57:20,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:20,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:20,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:20,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:20,810 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-28 12:57:20,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-28 12:57:20,812 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-28 12:57:20,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:20,812 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-28 12:57:20,812 INFO L496 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-28 12:57:20,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-28 12:57:20,903 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-28 12:57:20,903 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-28 12:57:20,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:57:20,904 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:20,904 INFO L195 NwaCegarLoop]: 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-28 12:57:20,920 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 12:57:21,104 WARN L477 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-28 12:57:21,105 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:21,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:21,105 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-28 12:57:21,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:21,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [463824366] [2022-04-28 12:57:21,105 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:21,105 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-28 12:57:21,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:21,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [795475486] [2022-04-28 12:57:21,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:21,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:21,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:21,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1693615919] [2022-04-28 12:57:21,115 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:21,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:21,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:21,116 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-28 12:57:21,117 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-28 12:57:21,155 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:21,156 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:21,156 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:57:21,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:21,166 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:25,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {2875#true} call ULTIMATE.init(); {2875#true} is VALID [2022-04-28 12:57:25,333 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-28 12:57:25,333 INFO L290 TraceCheckUtils]: 2: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2875#true} {2875#true} #101#return; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {2875#true} call #t~ret6 := main(); {2875#true} is VALID [2022-04-28 12:57:25,334 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-28 12:57:25,334 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-28 12:57:25,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2875#true} {2875#true} #81#return; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L290 TraceCheckUtils]: 11: Hoare triple {2875#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2875#true} is VALID [2022-04-28 12:57:25,334 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-28 12:57:25,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,335 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2875#true} {2875#true} #83#return; {2875#true} is VALID [2022-04-28 12:57:25,335 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-28 12:57:25,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,335 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2875#true} {2875#true} #85#return; {2875#true} is VALID [2022-04-28 12:57:25,343 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-28 12:57:25,344 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-28 12:57:25,344 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-28 12:57:25,344 INFO L290 TraceCheckUtils]: 25: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,344 INFO L290 TraceCheckUtils]: 26: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,344 INFO L290 TraceCheckUtils]: 27: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,345 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-28 12:57:25,345 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-28 12:57:25,345 INFO L290 TraceCheckUtils]: 30: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,345 INFO L290 TraceCheckUtils]: 31: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,346 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-28 12:57:25,346 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-28 12:57:25,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,346 INFO L290 TraceCheckUtils]: 37: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,346 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-28 12:57:25,347 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-28 12:57:25,347 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-28 12:57:25,347 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-28 12:57:25,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,347 INFO L290 TraceCheckUtils]: 43: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,347 INFO L290 TraceCheckUtils]: 44: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,348 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-28 12:57:25,348 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-28 12:57:25,348 INFO L290 TraceCheckUtils]: 47: Hoare triple {2875#true} ~cond := #in~cond; {2875#true} is VALID [2022-04-28 12:57:25,348 INFO L290 TraceCheckUtils]: 48: Hoare triple {2875#true} assume !(0 == ~cond); {2875#true} is VALID [2022-04-28 12:57:25,348 INFO L290 TraceCheckUtils]: 49: Hoare triple {2875#true} assume true; {2875#true} is VALID [2022-04-28 12:57:25,349 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-28 12:57:25,349 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-28 12:57:25,350 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-28 12:57:25,350 INFO L290 TraceCheckUtils]: 53: Hoare triple {3037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:25,350 INFO L290 TraceCheckUtils]: 54: Hoare triple {3041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2876#false} is VALID [2022-04-28 12:57:25,351 INFO L290 TraceCheckUtils]: 55: Hoare triple {2876#false} assume !false; {2876#false} is VALID [2022-04-28 12:57:25,351 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-28 12:57:25,351 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:57:25,351 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:25,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [795475486] [2022-04-28 12:57:25,351 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:25,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693615919] [2022-04-28 12:57:25,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693615919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:25,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:25,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:57:25,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:25,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [463824366] [2022-04-28 12:57:25,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [463824366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:25,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:25,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:57:25,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1761892392] [2022-04-28 12:57:25,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:25,352 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-28 12:57:25,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:25,352 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-28 12:57:25,382 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-28 12:57:25,382 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:57:25,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:25,383 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:57:25,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:57:25,383 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-28 12:57:25,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:25,604 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-28 12:57:25,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:57:25,604 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-28 12:57:25,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:25,604 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-28 12:57:25,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:57:25,605 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-28 12:57:25,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:57:25,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 12:57:25,652 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-28 12:57:25,653 INFO L225 Difference]: With dead ends: 79 [2022-04-28 12:57:25,653 INFO L226 Difference]: Without dead ends: 72 [2022-04-28 12:57:25,653 INFO L412 NwaCegarLoop]: 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-28 12:57:25,654 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:25,654 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:57:25,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-28 12:57:25,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-28 12:57:25,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:25,703 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-28 12:57:25,703 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-28 12:57:25,703 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-28 12:57:25,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:25,705 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 12:57:25,705 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 12:57:25,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:25,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:25,706 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-28 12:57:25,706 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-28 12:57:25,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:25,708 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 12:57:25,708 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 12:57:25,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:25,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:25,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:25,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:25,708 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-28 12:57:25,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-28 12:57:25,710 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-28 12:57:25,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:25,710 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-28 12:57:25,710 INFO L496 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-28 12:57:25,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-28 12:57:25,808 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-28 12:57:25,808 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-28 12:57:25,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:57:25,809 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:25,809 INFO L195 NwaCegarLoop]: 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-28 12:57:25,826 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-28 12:57:26,009 WARN L477 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-28 12:57:26,009 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:26,010 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:26,010 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-28 12:57:26,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:26,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1708017869] [2022-04-28 12:57:26,010 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:26,010 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-28 12:57:26,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:26,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1046544927] [2022-04-28 12:57:26,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:26,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:26,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:26,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [968755204] [2022-04-28 12:57:26,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:26,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:26,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:26,020 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-28 12:57:26,021 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-28 12:57:26,086 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:26,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:26,094 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:57:26,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:26,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:32,298 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-28 12:57:32,299 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-28 12:57:32,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-28 12:57:32,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-28 12:57:32,299 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-28 12:57:32,299 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-28 12:57:32,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-28 12:57:32,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-28 12:57:32,300 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-28 12:57:32,300 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-28 12:57:32,301 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-28 12:57:32,301 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-28 12:57:32,301 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-28 12:57:32,302 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-28 12:57:32,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,302 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-28 12:57:32,303 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-28 12:57:32,303 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-28 12:57:32,304 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-28 12:57:32,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,304 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,304 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-28 12:57:32,305 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-28 12:57:32,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,305 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,305 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-28 12:57:32,305 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-28 12:57:32,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,306 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-28 12:57:32,307 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-28 12:57:32,308 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-28 12:57:32,308 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-28 12:57:32,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,308 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,309 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-28 12:57:32,309 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-28 12:57:32,309 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,309 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,309 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,310 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-28 12:57:32,310 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-28 12:57:32,310 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,310 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,310 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,311 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-28 12:57:32,312 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-28 12:57:32,312 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-28 12:57:32,312 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-28 12:57:32,312 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,312 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,312 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,313 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-28 12:57:32,313 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-28 12:57:32,313 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:32,313 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:32,313 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:32,314 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-28 12:57:32,315 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-28 12:57:32,316 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-28 12:57:32,316 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-28 12:57:32,317 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-28 12:57:32,317 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:32,318 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-28 12:57:32,318 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-28 12:57:32,318 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-28 12:57:32,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:38,720 INFO L290 TraceCheckUtils]: 74: Hoare triple {3494#false} assume !false; {3494#false} is VALID [2022-04-28 12:57:38,721 INFO L290 TraceCheckUtils]: 73: Hoare triple {3723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3494#false} is VALID [2022-04-28 12:57:38,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {3719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:38,722 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-28 12:57:38,722 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-28 12:57:38,725 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-28 12:57:38,737 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-28 12:57:38,738 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-28 12:57:38,738 INFO L290 TraceCheckUtils]: 66: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,738 INFO L290 TraceCheckUtils]: 65: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,738 INFO L290 TraceCheckUtils]: 64: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,738 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-28 12:57:38,739 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-28 12:57:38,739 INFO L290 TraceCheckUtils]: 61: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,739 INFO L290 TraceCheckUtils]: 60: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,739 INFO L290 TraceCheckUtils]: 59: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,739 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-28 12:57:38,740 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-28 12:57:38,741 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-28 12:57:38,742 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-28 12:57:38,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,742 INFO L290 TraceCheckUtils]: 52: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,742 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-28 12:57:38,743 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-28 12:57:38,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,743 INFO L290 TraceCheckUtils]: 48: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,743 INFO L290 TraceCheckUtils]: 47: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,743 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-28 12:57:38,744 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-28 12:57:38,744 INFO L290 TraceCheckUtils]: 44: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,744 INFO L290 TraceCheckUtils]: 43: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,744 INFO L290 TraceCheckUtils]: 42: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,744 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-28 12:57:38,745 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-28 12:57:38,749 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-28 12:57:38,750 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-28 12:57:38,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,750 INFO L290 TraceCheckUtils]: 35: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,750 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-28 12:57:38,751 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-28 12:57:38,751 INFO L290 TraceCheckUtils]: 32: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,751 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-28 12:57:38,752 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-28 12:57:38,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,752 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-28 12:57:38,752 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-28 12:57:38,753 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-28 12:57:38,754 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3493#true} {3493#true} #85#return; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 19: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,754 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-28 12:57:38,754 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3493#true} {3493#true} #83#return; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,754 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-28 12:57:38,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {3493#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3493#true} {3493#true} #81#return; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {3493#true} assume !(0 == ~cond); {3493#true} is VALID [2022-04-28 12:57:38,755 INFO L290 TraceCheckUtils]: 7: Hoare triple {3493#true} ~cond := #in~cond; {3493#true} is VALID [2022-04-28 12:57:38,755 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-28 12:57:38,755 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-28 12:57:38,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {3493#true} call #t~ret6 := main(); {3493#true} is VALID [2022-04-28 12:57:38,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3493#true} {3493#true} #101#return; {3493#true} is VALID [2022-04-28 12:57:38,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {3493#true} assume true; {3493#true} is VALID [2022-04-28 12:57:38,755 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-28 12:57:38,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {3493#true} call ULTIMATE.init(); {3493#true} is VALID [2022-04-28 12:57:38,756 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-28 12:57:38,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:38,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1046544927] [2022-04-28 12:57:38,756 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:38,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [968755204] [2022-04-28 12:57:38,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [968755204] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:38,756 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:38,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-28 12:57:38,756 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:38,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1708017869] [2022-04-28 12:57:38,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1708017869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:38,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:38,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:57:38,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [706245104] [2022-04-28 12:57:38,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:38,757 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-28 12:57:38,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:38,757 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-28 12:57:38,811 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-28 12:57:38,811 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:57:38,812 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:38,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:57:38,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=214, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:57:38,812 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-28 12:57:40,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:40,382 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-28 12:57:40,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:57:40,382 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-28 12:57:40,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:40,383 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-28 12:57:40,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 12:57:40,384 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-28 12:57:40,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 12:57:40,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-28 12:57:40,474 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-28 12:57:40,476 INFO L225 Difference]: With dead ends: 135 [2022-04-28 12:57:40,476 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 12:57:40,477 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=66, Invalid=276, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:57:40,477 INFO L413 NwaCegarLoop]: 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:40,477 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 195 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 360 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 12:57:40,477 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 12:57:40,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-28 12:57:40,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:40,586 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-28 12:57:40,586 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-28 12:57:40,586 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-28 12:57:40,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:40,589 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 12:57:40,589 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 12:57:40,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:40,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:40,589 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-28 12:57:40,590 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-28 12:57:40,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:40,592 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 12:57:40,592 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 12:57:40,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:40,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:40,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:40,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:40,593 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-28 12:57:40,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-28 12:57:40,596 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-28 12:57:40,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:40,596 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-28 12:57:40,596 INFO L496 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-28 12:57:40,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-28 12:57:40,754 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-28 12:57:40,754 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-28 12:57:40,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:57:40,755 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:40,755 INFO L195 NwaCegarLoop]: 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-28 12:57:40,771 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:40,955 WARN L477 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-28 12:57:40,956 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:40,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:40,956 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-28 12:57:40,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:40,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [407853086] [2022-04-28 12:57:40,957 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:40,957 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-28 12:57:40,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:40,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1785862182] [2022-04-28 12:57:40,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:40,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:40,970 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:40,970 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [795051417] [2022-04-28 12:57:40,970 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:57:40,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:40,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:40,976 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-28 12:57:40,977 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-28 12:57:41,019 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:57:41,020 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:41,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 12:57:41,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:41,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:43,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-28 12:57:43,170 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-28 12:57:43,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-28 12:57:43,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-28 12:57:43,170 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-28 12:57:43,170 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-28 12:57:43,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,171 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-28 12:57:43,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-28 12:57:43,171 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-28 12:57:43,172 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-28 12:57:43,172 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-28 12:57:43,173 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-28 12:57:43,173 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-28 12:57:43,173 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-28 12:57:43,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,174 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,174 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-28 12:57:43,174 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-28 12:57:43,175 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-28 12:57:43,175 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-28 12:57:43,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,175 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,175 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,181 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-28 12:57:43,182 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-28 12:57:43,182 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,182 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,182 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-28 12:57:43,183 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-28 12:57:43,183 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,183 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,183 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,183 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-28 12:57:43,185 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-28 12:57:43,185 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-28 12:57:43,185 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-28 12:57:43,185 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,185 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,186 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,186 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-28 12:57:43,186 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-28 12:57:43,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,186 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,186 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,187 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-28 12:57:43,187 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-28 12:57:43,187 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,187 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,187 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,188 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-28 12:57:43,189 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-28 12:57:43,190 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-28 12:57:43,190 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-28 12:57:43,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,191 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-28 12:57:43,191 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-28 12:57:43,191 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,191 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,191 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,191 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-28 12:57:43,193 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-28 12:57:43,193 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-28 12:57:43,194 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-28 12:57:43,194 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-28 12:57:43,194 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:43,194 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:43,194 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:43,195 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-28 12:57:43,195 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-28 12:57:43,196 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:43,196 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-28 12:57:43,196 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-28 12:57:43,197 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-28 12:57:43,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:46,694 INFO L290 TraceCheckUtils]: 79: Hoare triple {4662#false} assume !false; {4662#false} is VALID [2022-04-28 12:57:46,695 INFO L290 TraceCheckUtils]: 78: Hoare triple {4905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4662#false} is VALID [2022-04-28 12:57:46,695 INFO L290 TraceCheckUtils]: 77: Hoare triple {4901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:46,696 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-28 12:57:46,697 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-28 12:57:46,697 INFO L290 TraceCheckUtils]: 74: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,697 INFO L290 TraceCheckUtils]: 73: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,697 INFO L290 TraceCheckUtils]: 72: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,697 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-28 12:57:46,697 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-28 12:57:46,698 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-28 12:57:46,710 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-28 12:57:46,711 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-28 12:57:46,711 INFO L290 TraceCheckUtils]: 66: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,711 INFO L290 TraceCheckUtils]: 65: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,711 INFO L290 TraceCheckUtils]: 64: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,712 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-28 12:57:46,712 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-28 12:57:46,712 INFO L290 TraceCheckUtils]: 61: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,712 INFO L290 TraceCheckUtils]: 59: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,713 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-28 12:57:46,714 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-28 12:57:46,715 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-28 12:57:46,716 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-28 12:57:46,716 INFO L290 TraceCheckUtils]: 54: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,716 INFO L290 TraceCheckUtils]: 53: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,716 INFO L290 TraceCheckUtils]: 52: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,716 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-28 12:57:46,717 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-28 12:57:46,717 INFO L290 TraceCheckUtils]: 49: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,717 INFO L290 TraceCheckUtils]: 47: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,717 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-28 12:57:46,718 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-28 12:57:46,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,718 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-28 12:57:46,719 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-28 12:57:46,724 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-28 12:57:46,725 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-28 12:57:46,725 INFO L290 TraceCheckUtils]: 37: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,725 INFO L290 TraceCheckUtils]: 36: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,725 INFO L290 TraceCheckUtils]: 35: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,725 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-28 12:57:46,726 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-28 12:57:46,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,726 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-28 12:57:46,726 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-28 12:57:46,727 INFO L290 TraceCheckUtils]: 27: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,727 INFO L290 TraceCheckUtils]: 26: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,727 INFO L290 TraceCheckUtils]: 25: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,727 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-28 12:57:46,727 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-28 12:57:46,728 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-28 12:57:46,728 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4661#true} {4661#true} #85#return; {4661#true} is VALID [2022-04-28 12:57:46,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,728 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-28 12:57:46,728 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4661#true} {4661#true} #83#return; {4661#true} is VALID [2022-04-28 12:57:46,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,729 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-28 12:57:46,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {4661#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4661#true} {4661#true} #81#return; {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {4661#true} assume !(0 == ~cond); {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {4661#true} ~cond := #in~cond; {4661#true} is VALID [2022-04-28 12:57:46,729 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-28 12:57:46,729 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-28 12:57:46,729 INFO L272 TraceCheckUtils]: 4: Hoare triple {4661#true} call #t~ret6 := main(); {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4661#true} {4661#true} #101#return; {4661#true} is VALID [2022-04-28 12:57:46,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {4661#true} assume true; {4661#true} is VALID [2022-04-28 12:57:46,729 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-28 12:57:46,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {4661#true} call ULTIMATE.init(); {4661#true} is VALID [2022-04-28 12:57:46,730 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-28 12:57:46,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:46,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1785862182] [2022-04-28 12:57:46,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:46,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [795051417] [2022-04-28 12:57:46,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [795051417] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:46,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:46,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 12:57:46,731 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:46,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [407853086] [2022-04-28 12:57:46,731 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [407853086] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:46,731 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:46,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:57:46,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1221113234] [2022-04-28 12:57:46,731 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:46,732 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-28 12:57:46,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:46,732 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-28 12:57:46,790 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-28 12:57:46,790 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:57:46,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:46,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:57:46,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:57:46,791 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-28 12:57:48,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:48,118 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-28 12:57:48,118 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:57:48,118 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-28 12:57:48,118 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:48,118 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-28 12:57:48,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-28 12:57:48,120 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-28 12:57:48,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 98 transitions. [2022-04-28 12:57:48,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 98 transitions. [2022-04-28 12:57:48,216 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-28 12:57:48,218 INFO L225 Difference]: With dead ends: 133 [2022-04-28 12:57:48,218 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:57:48,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:57:48,219 INFO L413 NwaCegarLoop]: 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-28 12:57:48,219 INFO L414 NwaCegarLoop]: 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-28 12:57:48,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:57:48,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 12:57:48,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:48,314 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-28 12:57:48,314 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-28 12:57:48,314 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-28 12:57:48,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:48,317 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:57:48,317 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:48,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:48,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:48,317 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-28 12:57:48,318 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-28 12:57:48,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:48,320 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:57:48,320 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:48,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:48,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:48,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:48,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:48,321 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-28 12:57:48,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-28 12:57:48,324 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-28 12:57:48,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:48,324 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-28 12:57:48,324 INFO L496 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-28 12:57:48,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-28 12:57:48,493 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-28 12:57:48,493 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:48,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:57:48,493 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:48,494 INFO L195 NwaCegarLoop]: 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-28 12:57:48,510 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-28 12:57:48,699 WARN L477 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-28 12:57:48,700 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:48,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:48,700 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-28 12:57:48,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:48,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1118822004] [2022-04-28 12:57:48,701 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:48,701 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-28 12:57:48,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:48,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1895791234] [2022-04-28 12:57:48,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:48,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:48,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:48,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [15585438] [2022-04-28 12:57:48,711 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:48,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:48,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:48,712 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-28 12:57:48,713 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-28 12:57:48,757 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:48,758 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:48,759 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:57:48,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:48,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:52,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-28 12:57:52,169 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-28 12:57:52,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-28 12:57:52,169 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-28 12:57:52,169 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-28 12:57:52,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-28 12:57:52,169 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-28 12:57:52,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,170 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-28 12:57:52,170 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-28 12:57:52,170 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,170 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-28 12:57:52,171 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-28 12:57:52,172 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-28 12:57:52,172 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-28 12:57:52,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,172 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-28 12:57:52,172 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-28 12:57:52,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,172 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,173 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-28 12:57:52,173 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-28 12:57:52,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,173 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,173 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,174 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-28 12:57:52,175 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-28 12:57:52,175 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-28 12:57:52,175 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-28 12:57:52,175 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,175 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,176 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-28 12:57:52,176 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-28 12:57:52,176 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,176 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,176 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,176 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-28 12:57:52,176 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-28 12:57:52,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,177 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,177 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-28 12:57:52,178 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-28 12:57:52,178 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-28 12:57:52,178 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-28 12:57:52,178 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,178 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,178 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,179 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-28 12:57:52,179 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-28 12:57:52,179 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,179 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,179 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,180 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-28 12:57:52,181 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-28 12:57:52,182 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-28 12:57:52,183 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-28 12:57:52,183 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-28 12:57:52,183 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,183 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,183 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,183 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-28 12:57:52,183 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-28 12:57:52,184 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:57:52,184 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:57:52,184 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:57:52,184 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-28 12:57:52,185 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-28 12:57:52,185 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-28 12:57:52,186 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:52,186 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-28 12:57:52,186 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-28 12:57:52,186 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-28 12:57:52,187 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:58:15,475 INFO L290 TraceCheckUtils]: 85: Hoare triple {5868#false} assume !false; {5868#false} is VALID [2022-04-28 12:58:15,476 INFO L290 TraceCheckUtils]: 84: Hoare triple {6128#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5868#false} is VALID [2022-04-28 12:58:15,476 INFO L290 TraceCheckUtils]: 83: Hoare triple {6124#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6128#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:58:15,476 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-28 12:58:15,477 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-28 12:58:15,477 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-28 12:58:15,477 INFO L290 TraceCheckUtils]: 79: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,477 INFO L290 TraceCheckUtils]: 78: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,478 INFO L290 TraceCheckUtils]: 77: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,478 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-28 12:58:15,478 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-28 12:58:15,478 INFO L290 TraceCheckUtils]: 74: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,478 INFO L290 TraceCheckUtils]: 72: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,478 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-28 12:58:15,479 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-28 12:58:15,481 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-28 12:58:15,485 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-28 12:58:15,485 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-28 12:58:15,485 INFO L290 TraceCheckUtils]: 66: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,485 INFO L290 TraceCheckUtils]: 65: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,485 INFO L290 TraceCheckUtils]: 64: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,486 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-28 12:58:15,486 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-28 12:58:15,486 INFO L290 TraceCheckUtils]: 61: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,486 INFO L290 TraceCheckUtils]: 60: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,486 INFO L290 TraceCheckUtils]: 59: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,486 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-28 12:58:15,487 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-28 12:58:15,487 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-28 12:58:15,488 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-28 12:58:15,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,488 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-28 12:58:15,489 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-28 12:58:15,489 INFO L290 TraceCheckUtils]: 49: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,489 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-28 12:58:15,489 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-28 12:58:15,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,490 INFO L290 TraceCheckUtils]: 43: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,490 INFO L290 TraceCheckUtils]: 42: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,490 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-28 12:58:15,490 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-28 12:58:15,493 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-28 12:58:15,493 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-28 12:58:15,493 INFO L290 TraceCheckUtils]: 37: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,493 INFO L290 TraceCheckUtils]: 36: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,493 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-28 12:58:15,507 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-28 12:58:15,507 INFO L290 TraceCheckUtils]: 32: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,508 INFO L290 TraceCheckUtils]: 30: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,508 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-28 12:58:15,508 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-28 12:58:15,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,508 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-28 12:58:15,509 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-28 12:58:15,509 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-28 12:58:15,509 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5867#true} {5867#true} #85#return; {5867#true} is VALID [2022-04-28 12:58:15,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,509 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-28 12:58:15,509 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5867#true} {5867#true} #83#return; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,510 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-28 12:58:15,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {5867#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5867#true} {5867#true} #81#return; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {5867#true} assume !(0 == ~cond); {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {5867#true} ~cond := #in~cond; {5867#true} is VALID [2022-04-28 12:58:15,510 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-28 12:58:15,510 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-28 12:58:15,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {5867#true} call #t~ret6 := main(); {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5867#true} {5867#true} #101#return; {5867#true} is VALID [2022-04-28 12:58:15,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {5867#true} assume true; {5867#true} is VALID [2022-04-28 12:58:15,510 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-28 12:58:15,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {5867#true} call ULTIMATE.init(); {5867#true} is VALID [2022-04-28 12:58:15,511 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-28 12:58:15,511 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:58:15,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1895791234] [2022-04-28 12:58:15,511 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:58:15,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [15585438] [2022-04-28 12:58:15,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [15585438] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:58:15,511 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:58:15,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-28 12:58:15,511 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:58:15,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1118822004] [2022-04-28 12:58:15,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1118822004] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:58:15,512 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:58:15,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:58:15,512 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1938734830] [2022-04-28 12:58:15,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:58:15,512 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-28 12:58:15,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:58:15,512 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-28 12:58:15,565 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-28 12:58:15,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:58:15,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:58:15,566 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:58:15,566 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:58:15,566 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-28 12:58:17,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:17,470 INFO L93 Difference]: Finished difference Result 145 states and 170 transitions. [2022-04-28 12:58:17,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:58:17,470 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-28 12:58:17,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:58:17,470 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-28 12:58:17,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-28 12:58:17,472 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-28 12:58:17,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-28 12:58:17,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2022-04-28 12:58:17,564 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-28 12:58:17,566 INFO L225 Difference]: With dead ends: 145 [2022-04-28 12:58:17,566 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 12:58:17,566 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 156 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:58:17,567 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 10 mSDsluCounter, 188 mSDsCounter, 0 mSdLazyCounter, 250 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:58:17,567 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 236 Invalid, 264 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 250 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:58:17,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 12:58:17,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-28 12:58:17,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:58:17,654 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-28 12:58:17,654 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-28 12:58:17,654 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-28 12:58:17,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:17,656 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-28 12:58:17,656 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-28 12:58:17,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:58:17,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:58:17,657 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-28 12:58:17,657 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-28 12:58:17,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:58:17,658 INFO L93 Difference]: Finished difference Result 96 states and 110 transitions. [2022-04-28 12:58:17,658 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 110 transitions. [2022-04-28 12:58:17,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:58:17,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:58:17,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:58:17,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:58:17,659 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-28 12:58:17,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 103 transitions. [2022-04-28 12:58:17,660 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 103 transitions. Word has length 86 [2022-04-28 12:58:17,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:58:17,660 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 103 transitions. [2022-04-28 12:58:17,661 INFO L496 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-28 12:58:17,661 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 103 transitions. [2022-04-28 12:58:17,809 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-28 12:58:17,809 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 103 transitions. [2022-04-28 12:58:17,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:58:17,810 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:58:17,810 INFO L195 NwaCegarLoop]: 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-28 12:58:17,833 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 12:58:18,010 WARN L477 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-28 12:58:18,011 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:58:18,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:58:18,011 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-28 12:58:18,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:58:18,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [957614930] [2022-04-28 12:58:18,011 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:58:18,011 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-28 12:58:18,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:58:18,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826302072] [2022-04-28 12:58:18,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:58:18,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:58:18,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:58:18,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [697986208] [2022-04-28 12:58:18,020 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:58:18,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:58:18,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:58:18,021 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-28 12:58:18,022 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-28 12:58:18,066 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 12:58:18,066 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:58:18,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 12:58:18,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:58:18,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:59:40,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-28 12:59:40,828 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-28 12:59:40,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-28 12:59:40,828 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-28 12:59:40,828 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-28 12:59:40,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-28 12:59:40,828 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-28 12:59:40,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-28 12:59:40,828 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-28 12:59:40,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-28 12:59:40,829 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-28 12:59:40,829 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-28 12:59:40,829 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-28 12:59:40,829 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,829 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,830 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,830 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-28 12:59:40,830 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-28 12:59:40,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,830 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,831 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-28 12:59:40,831 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-28 12:59:40,831 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,831 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,831 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-28 12:59:40,832 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-28 12:59:40,832 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-28 12:59:40,832 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-28 12:59:40,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,833 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-28 12:59:40,833 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-28 12:59:40,833 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,833 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,833 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-28 12:59:40,833 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-28 12:59:40,833 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,833 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,833 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,834 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-28 12:59:40,835 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-28 12:59:40,835 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-28 12:59:40,835 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-28 12:59:40,835 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,835 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,835 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,836 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-28 12:59:40,836 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-28 12:59:40,836 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,836 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,836 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,836 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-28 12:59:40,837 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-28 12:59:40,837 INFO L290 TraceCheckUtils]: 69: Hoare triple {7061#true} ~cond := #in~cond; {7275#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:40,837 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-28 12:59:40,837 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-28 12:59:40,838 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-28 12:59:40,838 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-28 12:59:40,839 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-28 12:59:40,839 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-28 12:59:40,839 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,839 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,839 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,839 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-28 12:59:40,840 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-28 12:59:40,840 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 12:59:40,840 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 12:59:40,840 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 12:59:40,840 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-28 12:59:40,844 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-28 12:59:40,846 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-28 12:59:40,846 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-28 12:59:40,847 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-28 12:59:40,847 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:40,847 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-28 12:59:40,848 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-28 12:59:40,848 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-28 12:59:40,848 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:00:07,037 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse13 (mod c_main_~B~0 4294967296))) (or (let ((.cse2 (= (mod c_main_~p~0 2) 0)) (.cse12 (div c_main_~p~0 2))) (let ((.cse1 (* (+ c_main_~q~0 .cse12 1) .cse13)) (.cse3 (* (+ c_main_~q~0 .cse12) .cse13)) (.cse4 (not .cse2)) (.cse5 (mod c_main_~A~0 4294967296)) (.cse6 (div c_main_~d~0 2)) (.cse7 (* (- 1) c_main_~r~0)) (.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0))) (and (or (let ((.cse0 (+ .cse5 .cse6 .cse7 1))) (and (or (= .cse0 .cse1) .cse2) (or (= .cse0 .cse3) .cse4))) .cse8 (not .cse9)) (or (let ((.cse10 (+ .cse5 .cse6 .cse7)) (.cse11 (< c_main_~p~0 0))) (and (or (= .cse10 .cse1) .cse2 (not .cse11)) (or (= .cse10 .cse3) (and .cse4 .cse11)))) (and .cse9 (not .cse8)))))) (not (= c_main_~d~0 (* c_main_~p~0 .cse13))))) is different from true [2022-04-28 13:00:55,950 INFO L290 TraceCheckUtils]: 91: Hoare triple {7062#false} assume !false; {7062#false} is VALID [2022-04-28 13:00:55,950 INFO L290 TraceCheckUtils]: 90: Hoare triple {7341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7062#false} is VALID [2022-04-28 13:00:55,950 INFO L290 TraceCheckUtils]: 89: Hoare triple {7337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:00:55,951 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-28 13:00:55,951 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-28 13:00:55,953 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-28 13:00:55,964 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-28 13:00:55,964 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-28 13:00:55,964 INFO L290 TraceCheckUtils]: 83: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,964 INFO L290 TraceCheckUtils]: 82: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,964 INFO L290 TraceCheckUtils]: 81: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,964 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-28 13:00:55,965 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-28 13:00:55,965 INFO L290 TraceCheckUtils]: 78: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,965 INFO L290 TraceCheckUtils]: 77: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,965 INFO L290 TraceCheckUtils]: 76: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,965 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-28 13:00:55,966 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-28 13:00:55,967 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-28 13:00:55,969 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-28 13:00:55,969 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-28 13:00:55,970 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-28 13:00:55,970 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-28 13:00:55,970 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-28 13:00:55,971 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-28 13:00:55,971 INFO L290 TraceCheckUtils]: 66: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,971 INFO L290 TraceCheckUtils]: 65: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,971 INFO L290 TraceCheckUtils]: 64: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,971 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-28 13:00:55,971 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-28 13:00:55,971 INFO L290 TraceCheckUtils]: 61: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,971 INFO L290 TraceCheckUtils]: 60: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,972 INFO L290 TraceCheckUtils]: 59: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,972 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-28 13:00:55,973 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-28 13:00:55,976 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-28 13:00:55,976 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-28 13:00:55,976 INFO L290 TraceCheckUtils]: 54: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,976 INFO L290 TraceCheckUtils]: 53: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,976 INFO L290 TraceCheckUtils]: 52: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,977 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-28 13:00:55,978 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-28 13:00:55,978 INFO L290 TraceCheckUtils]: 49: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,979 INFO L290 TraceCheckUtils]: 48: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,979 INFO L290 TraceCheckUtils]: 47: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,979 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-28 13:00:55,979 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-28 13:00:55,979 INFO L290 TraceCheckUtils]: 44: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,979 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-28 13:00:55,980 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-28 13:00:55,980 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-28 13:00:55,980 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-28 13:00:55,980 INFO L290 TraceCheckUtils]: 37: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,980 INFO L290 TraceCheckUtils]: 36: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,981 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-28 13:00:55,981 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-28 13:00:55,981 INFO L290 TraceCheckUtils]: 32: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,981 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-28 13:00:55,982 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-28 13:00:55,982 INFO L290 TraceCheckUtils]: 27: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,982 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-28 13:00:55,982 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-28 13:00:55,983 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-28 13:00:55,983 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7061#true} {7061#true} #85#return; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 18: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,983 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-28 13:00:55,983 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7061#true} {7061#true} #83#return; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 15: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,983 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-28 13:00:55,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {7061#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7061#true} {7061#true} #81#return; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {7061#true} assume !(0 == ~cond); {7061#true} is VALID [2022-04-28 13:00:55,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {7061#true} ~cond := #in~cond; {7061#true} is VALID [2022-04-28 13:00:55,984 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-28 13:00:55,984 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-28 13:00:55,984 INFO L272 TraceCheckUtils]: 4: Hoare triple {7061#true} call #t~ret6 := main(); {7061#true} is VALID [2022-04-28 13:00:55,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7061#true} {7061#true} #101#return; {7061#true} is VALID [2022-04-28 13:00:55,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {7061#true} assume true; {7061#true} is VALID [2022-04-28 13:00:55,984 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-28 13:00:55,984 INFO L272 TraceCheckUtils]: 0: Hoare triple {7061#true} call ULTIMATE.init(); {7061#true} is VALID [2022-04-28 13:00:55,984 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 11 refuted. 0 times theorem prover too weak. 207 trivial. 8 not checked. [2022-04-28 13:00:55,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:00:55,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1826302072] [2022-04-28 13:00:55,984 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:00:55,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [697986208] [2022-04-28 13:00:55,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [697986208] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:00:55,985 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:00:55,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-28 13:00:55,985 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:00:55,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [957614930] [2022-04-28 13:00:55,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [957614930] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:00:55,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:00:55,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:00:55,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [906564716] [2022-04-28 13:00:55,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:00:55,986 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-28 13:00:55,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:00:55,986 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-28 13:00:56,033 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-28 13:00:56,034 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:00:56,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:00:56,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:00:56,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=142, Unknown=1, NotChecked=24, Total=210 [2022-04-28 13:00:56,034 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-28 13:00:58,326 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-28 13:01:00,409 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-28 13:01:02,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:02,522 INFO L93 Difference]: Finished difference Result 107 states and 121 transitions. [2022-04-28 13:01:02,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:01:02,522 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-28 13:01:02,522 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:02,523 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-28 13:01:02,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-28 13:01:02,524 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-28 13:01:02,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 81 transitions. [2022-04-28 13:01:02,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 81 transitions. [2022-04-28 13:01:02,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:01:02,609 INFO L225 Difference]: With dead ends: 107 [2022-04-28 13:01:02,609 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 13:01:02,609 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 5.1s TimeCoverageRelationStatistics Valid=56, Invalid=187, Unknown=1, NotChecked=28, Total=272 [2022-04-28 13:01:02,609 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 26 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 34 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:02,610 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 151 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 191 Invalid, 2 Unknown, 0 Unchecked, 5.1s Time] [2022-04-28 13:01:02,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 13:01:02,710 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 95. [2022-04-28 13:01:02,710 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:02,711 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-28 13:01:02,711 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-28 13:01:02,711 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-28 13:01:02,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:02,713 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-28 13:01:02,713 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-28 13:01:02,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:02,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:02,714 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-28 13:01:02,714 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-28 13:01:02,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:02,716 INFO L93 Difference]: Finished difference Result 95 states and 108 transitions. [2022-04-28 13:01:02,716 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-28 13:01:02,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:02,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:02,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:02,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:02,716 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-28 13:01:02,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 108 transitions. [2022-04-28 13:01:02,718 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 108 transitions. Word has length 92 [2022-04-28 13:01:02,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:02,719 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 108 transitions. [2022-04-28 13:01:02,719 INFO L496 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-28 13:01:02,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 108 transitions. [2022-04-28 13:01:02,863 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-28 13:01:02,864 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 108 transitions. [2022-04-28 13:01:02,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 13:01:02,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:02,864 INFO L195 NwaCegarLoop]: 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-28 13:01:02,882 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-28 13:01:03,079 WARN L477 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-28 13:01:03,079 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:03,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:03,080 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-28 13:01:03,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:03,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [379197254] [2022-04-28 13:01:03,080 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:01:03,080 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-28 13:01:03,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:03,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [862132176] [2022-04-28 13:01:03,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:03,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:03,090 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:03,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2046652489] [2022-04-28 13:01:03,090 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:01:03,091 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:03,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:03,091 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-28 13:01:03,095 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-28 13:01:03,172 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:01:03,172 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:03,174 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 13:01:03,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:03,191 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:01:06,586 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-28 13:01:06,587 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-28 13:01:06,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-28 13:01:06,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-28 13:01:06,588 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-28 13:01:06,588 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-28 13:01:06,588 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-28 13:01:06,588 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-28 13:01:06,589 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-28 13:01:06,589 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-28 13:01:06,589 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-28 13:01:06,589 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-28 13:01:06,590 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,590 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-28 13:01:06,590 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-28 13:01:06,590 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,590 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,591 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-28 13:01:06,591 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-28 13:01:06,591 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-28 13:01:06,591 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-28 13:01:06,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,592 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-28 13:01:06,592 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-28 13:01:06,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:06,593 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-28 13:01:06,593 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-28 13:01:06,594 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-28 13:01:06,595 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-28 13:01:06,595 INFO L290 TraceCheckUtils]: 35: Hoare triple {8225#true} ~cond := #in~cond; {8324#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:06,595 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-28 13:01:06,595 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-28 13:01:06,596 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-28 13:01:06,597 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-28 13:01:06,597 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-28 13:01:06,597 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-28 13:01:06,597 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,598 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,598 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,598 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-28 13:01:06,598 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-28 13:01:06,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,599 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-28 13:01:06,599 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-28 13:01:06,599 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,599 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,599 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,599 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-28 13:01:06,600 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-28 13:01:06,601 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-28 13:01:06,601 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-28 13:01:06,601 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,601 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,601 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,601 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-28 13:01:06,601 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-28 13:01:06,602 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,602 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,602 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,602 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-28 13:01:06,602 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-28 13:01:06,602 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,602 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,602 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,603 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-28 13:01:06,604 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-28 13:01:06,605 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-28 13:01:06,605 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-28 13:01:06,605 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,605 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,605 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,605 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-28 13:01:06,605 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-28 13:01:06,606 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,606 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,606 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,606 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-28 13:01:06,607 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-28 13:01:06,608 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-28 13:01:06,608 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-28 13:01:06,608 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-28 13:01:06,608 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:06,608 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:06,608 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:06,609 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-28 13:01:06,610 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-28 13:01:06,610 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:06,610 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-28 13:01:06,610 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-28 13:01:06,611 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-28 13:01:06,611 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:51,493 INFO L290 TraceCheckUtils]: 96: Hoare triple {8226#false} assume !false; {8226#false} is VALID [2022-04-28 13:01:51,494 INFO L290 TraceCheckUtils]: 95: Hoare triple {8524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8226#false} is VALID [2022-04-28 13:01:51,494 INFO L290 TraceCheckUtils]: 94: Hoare triple {8520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:51,495 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-28 13:01:51,495 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-28 13:01:51,495 INFO L290 TraceCheckUtils]: 91: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,495 INFO L290 TraceCheckUtils]: 90: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,495 INFO L290 TraceCheckUtils]: 89: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,495 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-28 13:01:51,495 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-28 13:01:51,496 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-28 13:01:51,513 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-28 13:01:51,514 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-28 13:01:51,514 INFO L290 TraceCheckUtils]: 83: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,514 INFO L290 TraceCheckUtils]: 82: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,514 INFO L290 TraceCheckUtils]: 81: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,514 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-28 13:01:51,515 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-28 13:01:51,515 INFO L290 TraceCheckUtils]: 78: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,515 INFO L290 TraceCheckUtils]: 77: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,515 INFO L290 TraceCheckUtils]: 76: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,515 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-28 13:01:51,516 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-28 13:01:51,517 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-28 13:01:51,517 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-28 13:01:51,517 INFO L290 TraceCheckUtils]: 71: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,517 INFO L290 TraceCheckUtils]: 70: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,517 INFO L290 TraceCheckUtils]: 69: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,518 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-28 13:01:51,518 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-28 13:01:51,518 INFO L290 TraceCheckUtils]: 66: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,518 INFO L290 TraceCheckUtils]: 65: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,518 INFO L290 TraceCheckUtils]: 64: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,518 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-28 13:01:51,519 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-28 13:01:51,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,519 INFO L290 TraceCheckUtils]: 60: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,519 INFO L290 TraceCheckUtils]: 59: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,519 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-28 13:01:51,520 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-28 13:01:51,523 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-28 13:01:51,524 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-28 13:01:51,527 INFO L290 TraceCheckUtils]: 54: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,527 INFO L290 TraceCheckUtils]: 53: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,527 INFO L290 TraceCheckUtils]: 52: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,527 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-28 13:01:51,533 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-28 13:01:51,533 INFO L290 TraceCheckUtils]: 49: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,533 INFO L290 TraceCheckUtils]: 48: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,534 INFO L290 TraceCheckUtils]: 47: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,534 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-28 13:01:51,534 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-28 13:01:51,534 INFO L290 TraceCheckUtils]: 44: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,534 INFO L290 TraceCheckUtils]: 43: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,534 INFO L290 TraceCheckUtils]: 42: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,534 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-28 13:01:51,535 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-28 13:01:51,537 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-28 13:01:51,538 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-28 13:01:51,538 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-28 13:01:51,538 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-28 13:01:51,538 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-28 13:01:51,539 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-28 13:01:51,539 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8225#true} {8225#true} #89#return; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,539 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-28 13:01:51,539 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8225#true} {8225#true} #87#return; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,539 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-28 13:01:51,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {8225#true} assume !false; {8225#true} is VALID [2022-04-28 13:01:51,539 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-28 13:01:51,539 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8225#true} {8225#true} #85#return; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,540 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-28 13:01:51,540 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8225#true} {8225#true} #83#return; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,540 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-28 13:01:51,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {8225#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8225#true} {8225#true} #81#return; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {8225#true} assume !(0 == ~cond); {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {8225#true} ~cond := #in~cond; {8225#true} is VALID [2022-04-28 13:01:51,540 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-28 13:01:51,540 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-28 13:01:51,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {8225#true} call #t~ret6 := main(); {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8225#true} {8225#true} #101#return; {8225#true} is VALID [2022-04-28 13:01:51,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {8225#true} assume true; {8225#true} is VALID [2022-04-28 13:01:51,540 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-28 13:01:51,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {8225#true} call ULTIMATE.init(); {8225#true} is VALID [2022-04-28 13:01:51,541 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-28 13:01:51,541 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:01:51,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [862132176] [2022-04-28 13:01:51,541 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:01:51,541 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2046652489] [2022-04-28 13:01:51,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2046652489] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:01:51,541 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:01:51,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 11] total 21 [2022-04-28 13:01:51,542 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:01:51,542 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [379197254] [2022-04-28 13:01:51,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [379197254] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:01:51,542 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:01:51,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 13:01:51,542 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [390137692] [2022-04-28 13:01:51,542 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:01:51,542 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-28 13:01:51,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:01:51,543 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-28 13:01:51,611 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-28 13:01:51,611 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 13:01:51,611 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:51,612 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 13:01:51,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-28 13:01:51,612 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-28 13:01:56,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,071 INFO L93 Difference]: Finished difference Result 154 states and 184 transitions. [2022-04-28 13:01:56,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 13:01:56,071 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-28 13:01:56,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:01:56,072 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-28 13:01:56,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 13:01:56,074 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-28 13:01:56,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 13:01:56,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-28 13:01:56,237 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-28 13:01:56,240 INFO L225 Difference]: With dead ends: 154 [2022-04-28 13:01:56,240 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 13:01:56,241 INFO L412 NwaCegarLoop]: 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-28 13:01:56,241 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 36 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 661 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-28 13:01:56,241 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 273 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 661 Invalid, 0 Unknown, 0 Unchecked, 1.7s Time] [2022-04-28 13:01:56,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 13:01:56,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-28 13:01:56,486 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:01:56,487 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-28 13:01:56,487 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-28 13:01:56,487 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-28 13:01:56,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,490 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-28 13:01:56,490 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-28 13:01:56,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:56,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:56,491 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-28 13:01:56,491 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-28 13:01:56,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:01:56,494 INFO L93 Difference]: Finished difference Result 129 states and 151 transitions. [2022-04-28 13:01:56,494 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-28 13:01:56,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:01:56,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:01:56,494 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:01:56,494 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:01:56,495 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-28 13:01:56,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 151 transitions. [2022-04-28 13:01:56,498 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 151 transitions. Word has length 97 [2022-04-28 13:01:56,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:01:56,498 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 151 transitions. [2022-04-28 13:01:56,498 INFO L496 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-28 13:01:56,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 151 transitions. [2022-04-28 13:01:56,782 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-28 13:01:56,782 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 151 transitions. [2022-04-28 13:01:56,783 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 13:01:56,783 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:01:56,783 INFO L195 NwaCegarLoop]: 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-28 13:01:56,819 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-28 13:01:57,019 WARN L477 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-28 13:01:57,020 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:01:57,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:01:57,020 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-28 13:01:57,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:01:57,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1453440921] [2022-04-28 13:01:57,021 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:01:57,021 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-28 13:01:57,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:01:57,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718929861] [2022-04-28 13:01:57,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:01:57,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:01:57,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:01:57,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2006828236] [2022-04-28 13:01:57,032 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:01:57,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:01:57,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:01:57,048 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-28 13:01:57,059 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-28 13:01:57,111 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:01:57,111 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:01:57,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 13:01:57,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:01:57,133 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:02:15,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {9667#true} call ULTIMATE.init(); {9667#true} is VALID [2022-04-28 13:02:15,851 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-28 13:02:15,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9667#true} {9667#true} #101#return; {9667#true} is VALID [2022-04-28 13:02:15,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {9667#true} call #t~ret6 := main(); {9667#true} is VALID [2022-04-28 13:02:15,851 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-28 13:02:15,851 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-28 13:02:15,851 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-28 13:02:15,851 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-28 13:02:15,852 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-28 13:02:15,852 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-28 13:02:15,852 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-28 13:02:15,852 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-28 13:02:15,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,853 INFO L290 TraceCheckUtils]: 15: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,853 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-28 13:02:15,853 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-28 13:02:15,853 INFO L290 TraceCheckUtils]: 18: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,854 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-28 13:02:15,855 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-28 13:02:15,856 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-28 13:02:15,856 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-28 13:02:15,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,856 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-28 13:02:15,856 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-28 13:02:15,856 INFO L290 TraceCheckUtils]: 30: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,857 INFO L290 TraceCheckUtils]: 32: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,857 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-28 13:02:15,857 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-28 13:02:15,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,858 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-28 13:02:15,858 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-28 13:02:15,859 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-28 13:02:15,859 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-28 13:02:15,859 INFO L290 TraceCheckUtils]: 42: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,859 INFO L290 TraceCheckUtils]: 44: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,859 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-28 13:02:15,860 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-28 13:02:15,860 INFO L290 TraceCheckUtils]: 47: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,860 INFO L290 TraceCheckUtils]: 48: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,860 INFO L290 TraceCheckUtils]: 49: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,860 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-28 13:02:15,860 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-28 13:02:15,860 INFO L290 TraceCheckUtils]: 52: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,860 INFO L290 TraceCheckUtils]: 53: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,861 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-28 13:02:15,862 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-28 13:02:15,862 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-28 13:02:15,862 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-28 13:02:15,863 INFO L290 TraceCheckUtils]: 59: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,863 INFO L290 TraceCheckUtils]: 60: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,863 INFO L290 TraceCheckUtils]: 61: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,863 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-28 13:02:15,863 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-28 13:02:15,863 INFO L290 TraceCheckUtils]: 64: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,863 INFO L290 TraceCheckUtils]: 65: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,863 INFO L290 TraceCheckUtils]: 66: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,867 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-28 13:02:15,867 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-28 13:02:15,867 INFO L290 TraceCheckUtils]: 69: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,867 INFO L290 TraceCheckUtils]: 70: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,867 INFO L290 TraceCheckUtils]: 71: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,868 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-28 13:02:15,869 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-28 13:02:15,869 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-28 13:02:15,869 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-28 13:02:15,873 INFO L290 TraceCheckUtils]: 76: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,873 INFO L290 TraceCheckUtils]: 77: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,873 INFO L290 TraceCheckUtils]: 78: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,873 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-28 13:02:15,874 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-28 13:02:15,874 INFO L290 TraceCheckUtils]: 81: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,874 INFO L290 TraceCheckUtils]: 82: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,874 INFO L290 TraceCheckUtils]: 83: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,874 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-28 13:02:15,876 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-28 13:02:15,878 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-28 13:02:15,879 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-28 13:02:15,879 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-28 13:02:15,879 INFO L290 TraceCheckUtils]: 89: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,879 INFO L290 TraceCheckUtils]: 90: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,879 INFO L290 TraceCheckUtils]: 91: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,879 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-28 13:02:15,879 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-28 13:02:15,879 INFO L290 TraceCheckUtils]: 94: Hoare triple {9667#true} ~cond := #in~cond; {9667#true} is VALID [2022-04-28 13:02:15,879 INFO L290 TraceCheckUtils]: 95: Hoare triple {9667#true} assume !(0 == ~cond); {9667#true} is VALID [2022-04-28 13:02:15,880 INFO L290 TraceCheckUtils]: 96: Hoare triple {9667#true} assume true; {9667#true} is VALID [2022-04-28 13:02:15,880 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-28 13:02:15,882 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-28 13:02:15,883 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-28 13:02:15,883 INFO L290 TraceCheckUtils]: 100: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-28 13:02:15,883 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-28 13:02:15,883 INFO L290 TraceCheckUtils]: 102: Hoare triple {9668#false} ~cond := #in~cond; {9668#false} is VALID [2022-04-28 13:02:15,883 INFO L290 TraceCheckUtils]: 103: Hoare triple {9668#false} assume 0 == ~cond; {9668#false} is VALID [2022-04-28 13:02:15,883 INFO L290 TraceCheckUtils]: 104: Hoare triple {9668#false} assume !false; {9668#false} is VALID [2022-04-28 13:02:15,884 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-28 13:02:15,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:02:17,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:02:17,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718929861] [2022-04-28 13:02:17,519 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:02:17,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2006828236] [2022-04-28 13:02:17,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2006828236] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:02:17,519 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:02:17,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-28 13:02:17,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:02:17,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1453440921] [2022-04-28 13:02:17,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1453440921] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:02:17,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:02:17,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:02:17,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1867330964] [2022-04-28 13:02:17,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:02:17,520 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-28 13:02:17,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:02:17,520 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-28 13:02:17,593 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-28 13:02:17,594 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:02:17,594 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:17,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:02:17,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=297, Unknown=1, NotChecked=0, Total=380 [2022-04-28 13:02:17,595 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-28 13:02:21,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:21,408 INFO L93 Difference]: Finished difference Result 176 states and 217 transitions. [2022-04-28 13:02:21,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:02:21,408 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-28 13:02:21,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:02:21,408 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-28 13:02:21,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 13:02:21,410 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-28 13:02:21,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 112 transitions. [2022-04-28 13:02:21,411 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 112 transitions. [2022-04-28 13:02:21,560 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-28 13:02:21,562 INFO L225 Difference]: With dead ends: 176 [2022-04-28 13:02:21,562 INFO L226 Difference]: Without dead ends: 148 [2022-04-28 13:02:21,562 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 170 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=170, Invalid=585, Unknown=1, NotChecked=0, Total=756 [2022-04-28 13:02:21,563 INFO L413 NwaCegarLoop]: 68 mSDtfsCounter, 34 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:02:21,563 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 272 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-28 13:02:21,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-28 13:02:21,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 142. [2022-04-28 13:02:21,895 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:02:21,895 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-28 13:02:21,896 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-28 13:02:21,896 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-28 13:02:21,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:21,898 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-28 13:02:21,899 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-28 13:02:21,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:21,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:21,899 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-28 13:02:21,899 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-28 13:02:21,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:02:21,902 INFO L93 Difference]: Finished difference Result 148 states and 181 transitions. [2022-04-28 13:02:21,902 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 181 transitions. [2022-04-28 13:02:21,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:02:21,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:02:21,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:02:21,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:02:21,903 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-28 13:02:21,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 172 transitions. [2022-04-28 13:02:21,907 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 172 transitions. Word has length 105 [2022-04-28 13:02:21,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:02:21,907 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 172 transitions. [2022-04-28 13:02:21,907 INFO L496 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-28 13:02:21,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 172 transitions. [2022-04-28 13:02:22,234 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-28 13:02:22,235 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 172 transitions. [2022-04-28 13:02:22,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-28 13:02:22,235 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:02:22,235 INFO L195 NwaCegarLoop]: 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-28 13:02:22,251 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-28 13:02:22,436 WARN L477 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-28 13:02:22,436 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:02:22,436 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:02:22,436 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-28 13:02:22,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:02:22,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1444758964] [2022-04-28 13:02:22,437 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:02:22,437 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-28 13:02:22,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:02:22,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1391991069] [2022-04-28 13:02:22,437 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:02:22,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:02:22,448 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:02:22,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1479554486] [2022-04-28 13:02:22,448 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:02:22,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:02:22,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:02:22,449 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-28 13:02:22,450 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-28 13:02:22,519 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 13:02:22,519 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:02:22,520 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 13:02:22,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:02:22,540 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:02:32,719 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:03:08,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#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); {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11201#true} #101#return; {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L272 TraceCheckUtils]: 4: Hoare triple {11201#true} call #t~ret6 := main(); {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {11201#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; {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L272 TraceCheckUtils]: 6: Hoare triple {11201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11201#true} #81#return; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {11201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {11201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11201#true} {11201#true} #83#return; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {11201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11201#true} {11201#true} #85#return; {11201#true} is VALID [2022-04-28 13:03:08,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {11201#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,237 INFO L272 TraceCheckUtils]: 24: Hoare triple {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:03:08,237 INFO L290 TraceCheckUtils]: 25: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,237 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,238 INFO L272 TraceCheckUtils]: 29: Hoare triple {11272#(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)); {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,238 INFO L272 TraceCheckUtils]: 34: Hoare triple {11272#(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)); {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,239 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,239 INFO L290 TraceCheckUtils]: 39: Hoare triple {11272#(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; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 40: Hoare triple {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,240 INFO L272 TraceCheckUtils]: 41: Hoare triple {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 42: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 44: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,240 INFO L272 TraceCheckUtils]: 46: Hoare triple {11272#(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)); {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 47: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,240 INFO L290 TraceCheckUtils]: 48: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,241 INFO L290 TraceCheckUtils]: 49: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,241 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,241 INFO L272 TraceCheckUtils]: 51: Hoare triple {11272#(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)); {11201#true} is VALID [2022-04-28 13:03:08,241 INFO L290 TraceCheckUtils]: 52: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,241 INFO L290 TraceCheckUtils]: 53: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,241 INFO L290 TraceCheckUtils]: 54: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,242 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11201#true} {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11272#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:08,243 INFO L290 TraceCheckUtils]: 56: Hoare triple {11272#(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; {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:03:08,243 INFO L290 TraceCheckUtils]: 57: Hoare triple {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:03:08,243 INFO L272 TraceCheckUtils]: 58: Hoare triple {11375#(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)); {11201#true} is VALID [2022-04-28 13:03:08,243 INFO L290 TraceCheckUtils]: 59: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,243 INFO L290 TraceCheckUtils]: 60: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,243 INFO L290 TraceCheckUtils]: 61: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,244 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11201#true} {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:03:08,244 INFO L272 TraceCheckUtils]: 63: Hoare triple {11375#(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)); {11201#true} is VALID [2022-04-28 13:03:08,244 INFO L290 TraceCheckUtils]: 64: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,244 INFO L290 TraceCheckUtils]: 65: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,244 INFO L290 TraceCheckUtils]: 66: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,245 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11201#true} {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:03:08,245 INFO L272 TraceCheckUtils]: 68: Hoare triple {11375#(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)); {11201#true} is VALID [2022-04-28 13:03:08,245 INFO L290 TraceCheckUtils]: 69: Hoare triple {11201#true} ~cond := #in~cond; {11415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:08,245 INFO L290 TraceCheckUtils]: 70: Hoare triple {11415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:08,245 INFO L290 TraceCheckUtils]: 71: Hoare triple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:08,246 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} {11375#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11426#(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-28 13:03:08,249 INFO L290 TraceCheckUtils]: 73: Hoare triple {11426#(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; {11430#(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-28 13:03:08,250 INFO L290 TraceCheckUtils]: 74: Hoare triple {11430#(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; {11430#(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-28 13:03:08,250 INFO L272 TraceCheckUtils]: 75: Hoare triple {11430#(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)); {11201#true} is VALID [2022-04-28 13:03:08,250 INFO L290 TraceCheckUtils]: 76: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,250 INFO L290 TraceCheckUtils]: 77: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,250 INFO L290 TraceCheckUtils]: 78: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,251 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11201#true} {11430#(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; {11430#(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-28 13:03:08,251 INFO L272 TraceCheckUtils]: 80: Hoare triple {11430#(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)); {11201#true} is VALID [2022-04-28 13:03:08,251 INFO L290 TraceCheckUtils]: 81: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,251 INFO L290 TraceCheckUtils]: 82: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,251 INFO L290 TraceCheckUtils]: 83: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,252 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11201#true} {11430#(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; {11430#(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-28 13:03:08,252 INFO L272 TraceCheckUtils]: 85: Hoare triple {11430#(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)); {11201#true} is VALID [2022-04-28 13:03:08,252 INFO L290 TraceCheckUtils]: 86: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,252 INFO L290 TraceCheckUtils]: 87: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,252 INFO L290 TraceCheckUtils]: 88: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,253 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11201#true} {11430#(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; {11430#(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-28 13:03:08,253 INFO L290 TraceCheckUtils]: 90: Hoare triple {11430#(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); {11430#(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-28 13:03:08,254 INFO L290 TraceCheckUtils]: 91: Hoare triple {11430#(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; {11430#(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-28 13:03:08,254 INFO L272 TraceCheckUtils]: 92: Hoare triple {11430#(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)); {11201#true} is VALID [2022-04-28 13:03:08,254 INFO L290 TraceCheckUtils]: 93: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,254 INFO L290 TraceCheckUtils]: 94: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,254 INFO L290 TraceCheckUtils]: 95: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,254 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11201#true} {11430#(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; {11430#(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-28 13:03:08,254 INFO L272 TraceCheckUtils]: 97: Hoare triple {11430#(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)); {11201#true} is VALID [2022-04-28 13:03:08,255 INFO L290 TraceCheckUtils]: 98: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:03:08,255 INFO L290 TraceCheckUtils]: 99: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:03:08,255 INFO L290 TraceCheckUtils]: 100: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:03:08,255 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11201#true} {11430#(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; {11430#(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-28 13:03:10,260 WARN L290 TraceCheckUtils]: 102: Hoare triple {11430#(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); {11518#(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-28 13:03:10,263 INFO L290 TraceCheckUtils]: 103: Hoare triple {11518#(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; {11522#(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-28 13:03:10,264 INFO L290 TraceCheckUtils]: 104: Hoare triple {11522#(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; {11522#(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-28 13:03:10,264 INFO L272 TraceCheckUtils]: 105: Hoare triple {11522#(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)); {11201#true} is VALID [2022-04-28 13:03:10,265 INFO L290 TraceCheckUtils]: 106: Hoare triple {11201#true} ~cond := #in~cond; {11415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:10,265 INFO L290 TraceCheckUtils]: 107: Hoare triple {11415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:10,265 INFO L290 TraceCheckUtils]: 108: Hoare triple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:10,266 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} {11522#(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; {11541#(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-28 13:03:12,269 WARN L272 TraceCheckUtils]: 110: Hoare triple {11541#(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)); {11545#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 13:03:12,269 INFO L290 TraceCheckUtils]: 111: Hoare triple {11545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:12,270 INFO L290 TraceCheckUtils]: 112: Hoare triple {11549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11202#false} is VALID [2022-04-28 13:03:12,270 INFO L290 TraceCheckUtils]: 113: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-28 13:03:12,270 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-28 13:03:12,270 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:04:26,101 INFO L290 TraceCheckUtils]: 113: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-28 13:04:26,102 INFO L290 TraceCheckUtils]: 112: Hoare triple {11549#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11202#false} is VALID [2022-04-28 13:04:26,102 INFO L290 TraceCheckUtils]: 111: Hoare triple {11545#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11549#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:04:26,102 INFO L272 TraceCheckUtils]: 110: Hoare triple {11565#(= 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)); {11545#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:04:26,103 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} {11569#(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; {11565#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:04:26,103 INFO L290 TraceCheckUtils]: 108: Hoare triple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:04:26,104 INFO L290 TraceCheckUtils]: 107: Hoare triple {11579#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:04:26,104 INFO L290 TraceCheckUtils]: 106: Hoare triple {11201#true} ~cond := #in~cond; {11579#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:04:26,104 INFO L272 TraceCheckUtils]: 105: Hoare triple {11569#(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)); {11201#true} is VALID [2022-04-28 13:04:26,104 INFO L290 TraceCheckUtils]: 104: Hoare triple {11569#(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; {11569#(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-28 13:04:26,127 INFO L290 TraceCheckUtils]: 103: Hoare triple {11589#(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; {11569#(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-28 13:04:26,137 INFO L290 TraceCheckUtils]: 102: Hoare triple {11593#(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); {11589#(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-28 13:04:26,137 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11201#true} {11593#(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; {11593#(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-28 13:04:26,138 INFO L290 TraceCheckUtils]: 100: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L290 TraceCheckUtils]: 99: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L290 TraceCheckUtils]: 98: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L272 TraceCheckUtils]: 97: Hoare triple {11593#(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)); {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11201#true} {11593#(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; {11593#(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-28 13:04:26,138 INFO L290 TraceCheckUtils]: 95: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L290 TraceCheckUtils]: 94: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,138 INFO L290 TraceCheckUtils]: 93: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,139 INFO L272 TraceCheckUtils]: 92: Hoare triple {11593#(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)); {11201#true} is VALID [2022-04-28 13:04:26,140 INFO L290 TraceCheckUtils]: 91: Hoare triple {11593#(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; {11593#(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-28 13:04:26,141 INFO L290 TraceCheckUtils]: 90: Hoare triple {11593#(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); {11593#(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-28 13:04:26,141 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11201#true} {11593#(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; {11593#(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-28 13:04:26,142 INFO L290 TraceCheckUtils]: 88: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L290 TraceCheckUtils]: 87: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L290 TraceCheckUtils]: 86: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L272 TraceCheckUtils]: 85: Hoare triple {11593#(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)); {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11201#true} {11593#(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; {11593#(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-28 13:04:26,142 INFO L290 TraceCheckUtils]: 83: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L290 TraceCheckUtils]: 82: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,142 INFO L290 TraceCheckUtils]: 81: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,143 INFO L272 TraceCheckUtils]: 80: Hoare triple {11593#(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)); {11201#true} is VALID [2022-04-28 13:04:26,143 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11201#true} {11593#(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; {11593#(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-28 13:04:26,143 INFO L290 TraceCheckUtils]: 78: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,143 INFO L290 TraceCheckUtils]: 77: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,143 INFO L290 TraceCheckUtils]: 76: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,143 INFO L272 TraceCheckUtils]: 75: Hoare triple {11593#(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)); {11201#true} is VALID [2022-04-28 13:04:26,144 INFO L290 TraceCheckUtils]: 74: Hoare triple {11593#(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; {11593#(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-28 13:04:26,149 INFO L290 TraceCheckUtils]: 73: Hoare triple {11589#(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; {11593#(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-28 13:04:26,150 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} {11201#true} #91#return; {11589#(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-28 13:04:26,150 INFO L290 TraceCheckUtils]: 71: Hoare triple {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:04:26,151 INFO L290 TraceCheckUtils]: 70: Hoare triple {11579#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:04:26,151 INFO L290 TraceCheckUtils]: 69: Hoare triple {11201#true} ~cond := #in~cond; {11579#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:04:26,151 INFO L272 TraceCheckUtils]: 68: Hoare triple {11201#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11201#true} {11201#true} #89#return; {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L290 TraceCheckUtils]: 66: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L290 TraceCheckUtils]: 65: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L290 TraceCheckUtils]: 64: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L272 TraceCheckUtils]: 63: Hoare triple {11201#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,151 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11201#true} {11201#true} #87#return; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 61: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 59: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L272 TraceCheckUtils]: 58: Hoare triple {11201#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 57: Hoare triple {11201#true} assume !false; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 56: Hoare triple {11201#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11201#true} {11201#true} #91#return; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 54: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 53: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 52: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L272 TraceCheckUtils]: 51: Hoare triple {11201#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11201#true} {11201#true} #89#return; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 48: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 47: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L272 TraceCheckUtils]: 46: Hoare triple {11201#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11201#true} {11201#true} #87#return; {11201#true} is VALID [2022-04-28 13:04:26,152 INFO L290 TraceCheckUtils]: 44: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 43: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L272 TraceCheckUtils]: 41: Hoare triple {11201#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {11201#true} assume !false; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {11201#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11201#true} {11201#true} #91#return; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L272 TraceCheckUtils]: 34: Hoare triple {11201#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11201#true} {11201#true} #89#return; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L272 TraceCheckUtils]: 29: Hoare triple {11201#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11201#true} {11201#true} #87#return; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 26: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,153 INFO L290 TraceCheckUtils]: 25: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {11201#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {11201#true} assume !false; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {11201#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11201#true} {11201#true} #85#return; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L272 TraceCheckUtils]: 17: Hoare triple {11201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11201#true} {11201#true} #83#return; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L272 TraceCheckUtils]: 12: Hoare triple {11201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {11201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11201#true} #81#return; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 13:04:26,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {11201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {11201#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; {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {11201#true} call #t~ret6 := main(); {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11201#true} #101#return; {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#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); {11201#true} is VALID [2022-04-28 13:04:26,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-28 13:04:26,155 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-28 13:04:26,155 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:04:26,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1391991069] [2022-04-28 13:04:26,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:04:26,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1479554486] [2022-04-28 13:04:26,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1479554486] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:04:26,156 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:04:26,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-28 13:04:26,156 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:04:26,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1444758964] [2022-04-28 13:04:26,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1444758964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:04:26,156 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:04:26,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:04:26,156 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855411246] [2022-04-28 13:04:26,156 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:04:26,157 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-28 13:04:26,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:04:26,157 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-28 13:04:29,276 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-28 13:04:29,276 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:04:29,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:04:29,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:04:29,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=227, Unknown=5, NotChecked=0, Total=306 [2022-04-28 13:04:29,277 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-28 13:04:32,186 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-28 13:04:34,198 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-28 13:04:38,238 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-28 13:04:40,245 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-28 13:04:42,264 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-28 13:04:52,718 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-28 13:04:54,727 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-28 13:04:58,831 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-28 13:05:00,841 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-28 13:05:04,922 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-28 13:05:06,932 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-28 13:05:08,963 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-28 13:05:12,299 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.33s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:05:14,397 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-28 13:05:16,400 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-28 13:05:18,452 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-28 13:05:20,694 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-28 13:05:22,698 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-28 13:05:24,705 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-28 13:05:28,798 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-28 13:05:30,828 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-28 13:05:34,924 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-28 13:05:37,017 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-28 13:05:39,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-28 13:05:42,006 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-28 13:05:43,873 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.86s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:05:48,777 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 13:05:51,375 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-28 13:05:53,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:53,393 INFO L93 Difference]: Finished difference Result 161 states and 188 transitions. [2022-04-28 13:05:53,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:05:53,393 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-28 13:05:53,393 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:05:53,394 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-28 13:05:53,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 86 transitions. [2022-04-28 13:05:53,395 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-28 13:05:53,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 86 transitions. [2022-04-28 13:05:53,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 86 transitions. [2022-04-28 13:05:56,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:56,478 INFO L225 Difference]: With dead ends: 161 [2022-04-28 13:05:56,478 INFO L226 Difference]: Without dead ends: 149 [2022-04-28 13:05:56,478 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 209 SyntacticMatches, 2 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 20.5s TimeCoverageRelationStatistics Valid=99, Invalid=316, Unknown=5, NotChecked=0, Total=420 [2022-04-28 13:05:56,479 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 315 mSolverCounterSat, 18 mSolverCounterUnsat, 25 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 60.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 358 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 315 IncrementalHoareTripleChecker+Invalid, 25 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 60.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:05:56,479 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 219 Invalid, 358 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 315 Invalid, 25 Unknown, 0 Unchecked, 60.5s Time] [2022-04-28 13:05:56,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-28 13:05:56,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 149. [2022-04-28 13:05:56,772 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:05:56,772 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-28 13:05:56,772 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-28 13:05:56,773 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-28 13:05:56,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:56,777 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-28 13:05:56,777 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-28 13:05:56,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:56,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:56,777 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-28 13:05:56,778 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-28 13:05:56,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:56,780 INFO L93 Difference]: Finished difference Result 149 states and 175 transitions. [2022-04-28 13:05:56,780 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-28 13:05:56,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:56,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:56,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:05:56,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:05:56,781 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-28 13:05:56,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 175 transitions. [2022-04-28 13:05:56,783 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 175 transitions. Word has length 114 [2022-04-28 13:05:56,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:05:56,784 INFO L495 AbstractCegarLoop]: Abstraction has 149 states and 175 transitions. [2022-04-28 13:05:56,784 INFO L496 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-28 13:05:56,784 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 149 states and 175 transitions. [2022-04-28 13:05:57,171 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-28 13:05:57,171 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 175 transitions. [2022-04-28 13:05:57,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 13:05:57,171 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:05:57,172 INFO L195 NwaCegarLoop]: 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-28 13:05:57,188 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 13:05:57,383 WARN L477 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-28 13:05:57,383 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:05:57,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:05:57,384 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 1 times [2022-04-28 13:05:57,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:05:57,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [314486063] [2022-04-28 13:05:57,384 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:05:57,384 INFO L85 PathProgramCache]: Analyzing trace with hash 1087601215, now seen corresponding path program 2 times [2022-04-28 13:05:57,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:05:57,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2073816689] [2022-04-28 13:05:57,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:05:57,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:05:57,394 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:05:57,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1222375468] [2022-04-28 13:05:57,394 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:05:57,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:05:57,395 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:05:57,395 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-28 13:05:57,401 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-28 13:05:57,449 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:05:57,449 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:05:57,450 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 13:05:57,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:05:57,470 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:11:33,759 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~A~0 4294967296))) (let ((.cse2 (* 2 c_main_~r~0)) (.cse1 (div .cse0 2))) (and (< (div (+ (- 1) (* (- 1) .cse0)) (- 4)) (+ .cse1 1)) (= c_main_~q~0 2) (< .cse2 (+ .cse0 1)) (= (div c_main_~q~0 2) c_main_~p~0) (<= .cse0 2) (= c_main_~d~0 (div (+ .cse0 (* (- 1) c_main_~r~0)) 2)) (<= (div (+ .cse2 (* (- 2) .cse0)) (- 4)) .cse1)))) is different from true