/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 09:18:22,676 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 09:18:22,677 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 09:18:22,708 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 09:18:22,708 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 09:18:22,709 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 09:18:22,710 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 09:18:22,712 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 09:18:22,714 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 09:18:22,714 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 09:18:22,715 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 09:18:22,716 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 09:18:22,717 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 09:18:22,717 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 09:18:22,718 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 09:18:22,720 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 09:18:22,720 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 09:18:22,721 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 09:18:22,723 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 09:18:22,724 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 09:18:22,725 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 09:18:22,728 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 09:18:22,729 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 09:18:22,730 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 09:18:22,731 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 09:18:22,733 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 09:18:22,733 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 09:18:22,733 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 09:18:22,734 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 09:18:22,734 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 09:18:22,735 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 09:18:22,735 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 09:18:22,736 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 09:18:22,736 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 09:18:22,737 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 09:18:22,738 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 09:18:22,738 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 09:18:22,738 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 09:18:22,738 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 09:18:22,738 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 09:18:22,739 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 09:18:22,743 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 09:18:22,744 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 09:18:22,751 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 09:18:22,751 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 09:18:22,752 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 09:18:22,752 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 09:18:22,752 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 09:18:22,752 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 09:18:22,752 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 09:18:22,752 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 09:18:22,753 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 09:18:22,753 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 09:18:22,754 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 09:18:22,754 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 09:18:22,755 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 09:18:22,755 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 09:18:22,950 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 09:18:22,971 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 09:18:22,973 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 09:18:22,974 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 09:18:22,974 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 09:18:22,975 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-15 09:18:23,047 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cd0c050c5/9ec5daf4d6cf453a966159fc2d4094ae/FLAGe1ff05acd [2022-04-15 09:18:23,398 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 09:18:23,398 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-15 09:18:23,403 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cd0c050c5/9ec5daf4d6cf453a966159fc2d4094ae/FLAGe1ff05acd [2022-04-15 09:18:23,412 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cd0c050c5/9ec5daf4d6cf453a966159fc2d4094ae [2022-04-15 09:18:23,414 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 09:18:23,415 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 09:18:23,416 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 09:18:23,416 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 09:18:23,424 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 09:18:23,425 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,426 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5902b34 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23, skipping insertion in model container [2022-04-15 09:18:23,426 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,431 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 09:18:23,447 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 09:18:23,654 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_valuebound1.c[538,551] [2022-04-15 09:18:23,672 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 09:18:23,683 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 09:18:23,692 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_valuebound1.c[538,551] [2022-04-15 09:18:23,700 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 09:18:23,710 INFO L208 MainTranslator]: Completed translation [2022-04-15 09:18:23,710 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23 WrapperNode [2022-04-15 09:18:23,710 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 09:18:23,711 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 09:18:23,711 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 09:18:23,711 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 09:18:23,722 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,723 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,731 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,732 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,737 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,740 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,741 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,743 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 09:18:23,744 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 09:18:23,744 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 09:18:23,744 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 09:18:23,750 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (1/1) ... [2022-04-15 09:18:23,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 09:18:23,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:23,774 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 09:18:23,792 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 09:18:23,805 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 09:18:23,805 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 09:18:23,806 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 09:18:23,807 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 09:18:23,855 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 09:18:23,856 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 09:18:23,976 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 09:18:23,982 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 09:18:23,982 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 09:18:23,984 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 09:18:23 BoogieIcfgContainer [2022-04-15 09:18:23,984 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 09:18:23,985 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 09:18:23,986 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 09:18:23,988 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 09:18:23,988 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 09:18:23" (1/3) ... [2022-04-15 09:18:23,989 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a880321 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 09:18:23, skipping insertion in model container [2022-04-15 09:18:23,989 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 09:18:23" (2/3) ... [2022-04-15 09:18:23,989 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a880321 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 09:18:23, skipping insertion in model container [2022-04-15 09:18:23,989 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 09:18:23" (3/3) ... [2022-04-15 09:18:23,990 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-15 09:18:23,994 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 09:18:23,994 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 09:18:24,028 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 09:18:24,033 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 09:18:24,033 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 09:18:24,049 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 09:18:24,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 09:18:24,055 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:24,056 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:24,056 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:24,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:24,060 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 09:18:24,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:24,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1284671381] [2022-04-15 09:18:24,075 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:24,075 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 09:18:24,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:24,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [938004914] [2022-04-15 09:18:24,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:24,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:24,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:18:24,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 09:18:24,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 09:18:24,283 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 09:18:24,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:18:24,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 09:18:24,297 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:18:24,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,319 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 09:18:24,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:18:24,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 09:18:24,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:18:24,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 09:18:24,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 09:18:24,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 09:18:24,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 09:18:24,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-15 09:18:24,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 09:18:24,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 09:18:24,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 09:18:24,340 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 09:18:24,340 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 09:18:24,343 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 09:18:24,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 09:18:24,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 09:18:24,344 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 09:18:24,344 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 09:18:24,344 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-15 09:18:24,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 09:18:24,346 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-15 09:18:24,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 09:18:24,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 09:18:24,348 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 09:18:24,349 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:18:24,349 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:24,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [938004914] [2022-04-15 09:18:24,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [938004914] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:24,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:24,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 09:18:24,356 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:24,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1284671381] [2022-04-15 09:18:24,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1284671381] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:24,358 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:24,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 09:18:24,359 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1076421333] [2022-04-15 09:18:24,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:24,365 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 09:18:24,367 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:24,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:18:24,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:24,410 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 09:18:24,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:24,432 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 09:18:24,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 09:18:24,436 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:18:24,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:24,635 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 09:18:24,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 09:18:24,635 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 09:18:24,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:24,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:18:24,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 09:18:24,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:18:24,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 09:18:24,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 09:18:24,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:24,790 INFO L225 Difference]: With dead ends: 69 [2022-04-15 09:18:24,791 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 09:18:24,793 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 09:18:24,796 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:24,797 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 09:18:24,810 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 09:18:24,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 09:18:24,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:24,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:24,825 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:24,825 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:24,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:24,830 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 09:18:24,830 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:18:24,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:24,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:24,832 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 09:18:24,832 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 09:18:24,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:24,835 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 09:18:24,836 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:18:24,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:24,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:24,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:24,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:24,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:24,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 09:18:24,841 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 09:18:24,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:24,841 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 09:18:24,842 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 09:18:24,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 09:18:24,893 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:24,893 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 09:18:24,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 09:18:24,894 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:24,894 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:24,895 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 09:18:24,895 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:24,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:24,896 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 09:18:24,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:24,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [565871717] [2022-04-15 09:18:24,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:24,897 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 09:18:24,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:24,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1244874602] [2022-04-15 09:18:24,898 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:24,898 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:24,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:24,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:18:24,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 09:18:25,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,007 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 09:18:25,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:18:25,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,025 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 09:18:25,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:18:25,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 09:18:25,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:18:25,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 09:18:25,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:18:25,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 09:18:25,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 09:18:25,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 09:18:25,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-15 09:18:25,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 09:18:25,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,061 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 09:18:25,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 09:18:25,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 09:18:25,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,063 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 09:18:25,063 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 09:18:25,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 09:18:25,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 09:18:25,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 09:18:25,064 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 09:18:25,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-15 09:18:25,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 09:18:25,066 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:18:25,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:18:25,068 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 09:18:25,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 09:18:25,069 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:18:25,069 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:25,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1244874602] [2022-04-15 09:18:25,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1244874602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:25,070 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:25,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:18:25,070 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:25,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [565871717] [2022-04-15 09:18:25,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [565871717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:25,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:25,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:18:25,071 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [316542605] [2022-04-15 09:18:25,071 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:25,072 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 09:18:25,073 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:25,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:18:25,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:25,093 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 09:18:25,094 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:25,094 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 09:18:25,095 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 09:18:25,095 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:18:25,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:25,545 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 09:18:25,546 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 09:18:25,546 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 09:18:25,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:25,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:18:25,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:18:25,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:18:25,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:18:25,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 09:18:25,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:25,624 INFO L225 Difference]: With dead ends: 46 [2022-04-15 09:18:25,624 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 09:18:25,625 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 09:18:25,626 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:25,626 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:18:25,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 09:18:25,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 09:18:25,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:25,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:25,635 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:25,635 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:25,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:25,638 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 09:18:25,638 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 09:18:25,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:25,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:25,640 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 09:18:25,640 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 09:18:25,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:25,643 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 09:18:25,643 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 09:18:25,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:25,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:25,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:25,644 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:25,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:25,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 09:18:25,647 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 09:18:25,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:25,647 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 09:18:25,647 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 09:18:25,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 09:18:25,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:25,698 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 09:18:25,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 09:18:25,699 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:25,699 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:25,699 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 09:18:25,699 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:25,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:25,700 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 09:18:25,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:25,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1786001122] [2022-04-15 09:18:25,701 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:25,701 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 09:18:25,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:25,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1001847062] [2022-04-15 09:18:25,702 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:25,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:25,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 09:18:25,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 09:18:25,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,789 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 09:18:25,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 09:18:25,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 09:18:25,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 09:18:25,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 09:18:25,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 09:18:25,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 09:18:25,804 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 09:18:25,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:25,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,811 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:18:25,812 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 09:18:25,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 09:18:25,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 09:18:25,813 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 09:18:25,813 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-15 09:18:25,813 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 09:18:25,813 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 09:18:25,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 09:18:25,814 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 09:18:25,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,815 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,815 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,815 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 09:18:25,815 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 09:18:25,815 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,816 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,816 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,816 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 09:18:25,817 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:18:25,817 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:18:25,818 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-15 09:18:25,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 09:18:25,818 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 09:18:25,818 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 09:18:25,819 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 09:18:25,820 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 09:18:25,821 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 09:18:25,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 09:18:25,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 09:18:25,822 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 09:18:25,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:25,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1001847062] [2022-04-15 09:18:25,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1001847062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:25,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:25,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:18:25,823 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:25,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1786001122] [2022-04-15 09:18:25,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1786001122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:25,823 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:25,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 09:18:25,824 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [79396064] [2022-04-15 09:18:25,824 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:25,824 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 09:18:25,824 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:25,825 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:18:25,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:25,846 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 09:18:25,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:25,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 09:18:25,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 09:18:25,847 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:18:26,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:26,337 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 09:18:26,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 09:18:26,337 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 09:18:26,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:26,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:18:26,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:18:26,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:18:26,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 09:18:26,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 09:18:26,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:26,414 INFO L225 Difference]: With dead ends: 50 [2022-04-15 09:18:26,415 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 09:18:26,415 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 09:18:26,418 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:26,422 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:18:26,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 09:18:26,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 09:18:26,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:26,441 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:26,441 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:26,442 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:26,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:26,444 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 09:18:26,444 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 09:18:26,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:26,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:26,445 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 09:18:26,446 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 09:18:26,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:26,454 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 09:18:26,454 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 09:18:26,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:26,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:26,460 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:26,460 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:26,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 09:18:26,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 09:18:26,463 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 09:18:26,464 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:26,464 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 09:18:26,464 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 09:18:26,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 09:18:26,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:26,513 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 09:18:26,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 09:18:26,514 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:26,514 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:26,514 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 09:18:26,515 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:26,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:26,515 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 09:18:26,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:26,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [343563978] [2022-04-15 09:18:26,516 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:26,516 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 09:18:26,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:26,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1362533912] [2022-04-15 09:18:26,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:26,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:26,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:26,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1556887791] [2022-04-15 09:18:26,531 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:18:26,531 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:26,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:26,533 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:26,547 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 09:18:26,584 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:18:26,584 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:18:26,586 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 09:18:26,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:26,614 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:18:27,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 09:18:27,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-15 09:18:27,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:18:27,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 09:18:27,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 09:18:27,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-15 09:18:27,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 09:18:27,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:18:27,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:18:27,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:18:27,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 09:18:27,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 09:18:27,697 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 09:18:27,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:27,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:27,699 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:27,700 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) 1)} is VALID [2022-04-15 09:18:27,700 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 09:18:27,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:27,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:27,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:27,702 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:27,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 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) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:27,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:27,703 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-15 09:18:27,703 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:18:27,703 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:18:27,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:18:27,704 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:27,705 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-15 09:18:27,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 09:18:27,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 09:18:27,709 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 09:18:27,709 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:27,710 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:27,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:27,720 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 09:18:27,720 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 09:18:27,720 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 09:18:27,720 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 09:18:27,721 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:27,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1362533912] [2022-04-15 09:18:27,721 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:18:27,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1556887791] [2022-04-15 09:18:27,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1556887791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:27,721 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:27,722 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 09:18:27,722 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:27,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [343563978] [2022-04-15 09:18:27,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [343563978] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:27,722 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:27,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 09:18:27,723 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [861145191] [2022-04-15 09:18:27,723 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:27,723 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 09:18:27,724 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:27,724 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:18:27,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:27,756 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 09:18:27,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:27,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 09:18:27,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-15 09:18:27,757 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:18:28,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:28,270 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 09:18:28,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 09:18:28,270 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 09:18:28,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:28,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:18:28,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 09:18:28,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:18:28,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 09:18:28,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-15 09:18:28,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:28,361 INFO L225 Difference]: With dead ends: 69 [2022-04-15 09:18:28,361 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 09:18:28,361 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 09:18:28,362 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:28,362 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:18:28,363 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 09:18:28,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 09:18:28,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:28,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:28,403 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:28,404 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:28,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:28,407 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 09:18:28,407 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:18:28,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:28,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:28,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 09:18:28,408 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 09:18:28,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:28,411 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 09:18:28,411 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:18:28,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:28,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:28,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:28,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:28,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:28,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 09:18:28,414 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 09:18:28,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:28,414 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 09:18:28,419 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 09:18:28,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 09:18:28,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:28,492 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 09:18:28,494 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 09:18:28,494 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:28,494 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:28,513 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 09:18:28,703 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:28,704 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:28,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:28,704 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 09:18:28,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:28,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1732431849] [2022-04-15 09:18:28,704 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:28,705 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 09:18:28,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:28,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1449459766] [2022-04-15 09:18:28,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:28,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:28,722 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:28,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2038919986] [2022-04-15 09:18:28,722 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:18:28,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:28,723 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:28,724 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:28,742 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 09:18:28,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:18:28,786 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:18:28,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 09:18:28,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:28,801 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:18:30,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 09:18:30,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:30,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:30,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,494 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 09:18:30,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 09:18:30,494 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:30,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:30,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:30,497 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) 1)} is VALID [2022-04-15 09:18:30,497 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:30,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:30,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:30,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,499 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:30,499 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:30,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,500 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,500 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:30,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:30,501 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,502 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,502 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:30,502 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:30,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:30,502 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:30,503 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,505 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:30,506 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:30,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:30,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 09:18:30,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 09:18:30,507 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 09:18:30,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:18:31,550 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 09:18:31,551 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 09:18:31,552 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:31,552 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:31,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:31,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:31,554 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:31,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,554 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:31,554 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:31,555 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,555 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:31,555 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:31,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:31,556 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,556 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:31,557 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,557 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:31,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:31,557 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,558 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:31,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:31,559 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:31,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,559 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:31,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:31,559 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,560 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) 1)} is VALID [2022-04-15 09:18:31,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:31,561 INFO L290 TraceCheckUtils]: 14: Hoare triple {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:31,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 09:18:31,561 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,561 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 09:18:31,562 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 09:18:31,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 09:18:31,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 09:18:31,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 09:18:31,563 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 09:18:31,563 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:31,563 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1449459766] [2022-04-15 09:18:31,564 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:18:31,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2038919986] [2022-04-15 09:18:31,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2038919986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:18:31,564 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:18:31,564 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-15 09:18:31,564 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:31,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1732431849] [2022-04-15 09:18:31,564 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1732431849] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:31,565 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:31,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 09:18:31,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [845131620] [2022-04-15 09:18:31,565 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:31,565 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-15 09:18:31,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:31,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 09:18:31,595 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:31,595 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 09:18:31,595 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:31,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 09:18:31,596 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-15 09:18:31,596 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 09:18:32,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:32,226 INFO L93 Difference]: Finished difference Result 65 states and 76 transitions. [2022-04-15 09:18:32,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 09:18:32,226 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-15 09:18:32,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:32,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 09:18:32,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-15 09:18:32,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 09:18:32,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-15 09:18:32,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 64 transitions. [2022-04-15 09:18:32,294 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:32,296 INFO L225 Difference]: With dead ends: 65 [2022-04-15 09:18:32,296 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 09:18:32,297 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-15 09:18:32,297 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 23 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:32,298 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 173 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 09:18:32,298 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 09:18:32,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-15 09:18:32,343 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:32,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 09:18:32,344 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 09:18:32,344 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 09:18:32,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:32,347 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-15 09:18:32,347 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 09:18:32,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:32,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:32,348 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-15 09:18:32,348 INFO L87 Difference]: Start difference. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-15 09:18:32,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:32,350 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-15 09:18:32,350 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 09:18:32,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:32,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:32,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:32,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:32,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 09:18:32,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2022-04-15 09:18:32,353 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 45 [2022-04-15 09:18:32,354 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:32,354 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2022-04-15 09:18:32,354 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 09:18:32,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 63 transitions. [2022-04-15 09:18:32,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:32,431 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 09:18:32,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 09:18:32,431 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:32,432 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:32,448 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 09:18:32,635 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:32,636 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:32,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:32,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 09:18:32,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:32,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1163106829] [2022-04-15 09:18:32,637 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:32,637 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 09:18:32,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:32,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [463992337] [2022-04-15 09:18:32,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:32,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:32,651 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:32,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1209904123] [2022-04-15 09:18:32,651 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:18:32,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:32,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:32,652 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:32,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 09:18:32,706 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:18:32,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:18:32,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 09:18:32,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:32,720 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:18:34,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-15 09:18:34,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#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); {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#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; {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-15 09:18:34,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-15 09:18:34,210 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:34,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:34,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:34,212 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2046#true} #83#return; {2101#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:34,212 INFO L272 TraceCheckUtils]: 17: Hoare triple {2101#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:34,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:34,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:34,214 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2101#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,214 INFO L290 TraceCheckUtils]: 22: Hoare triple {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:34,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:34,215 INFO L272 TraceCheckUtils]: 24: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,215 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,215 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,216 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:34,217 INFO L272 TraceCheckUtils]: 29: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,217 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,219 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:34,219 INFO L272 TraceCheckUtils]: 34: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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)); {2046#true} is VALID [2022-04-15 09:18:34,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,220 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,221 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 09:18:34,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,223 INFO L290 TraceCheckUtils]: 40: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,223 INFO L272 TraceCheckUtils]: 41: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,223 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,223 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,223 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,224 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,224 INFO L272 TraceCheckUtils]: 46: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,224 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,224 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,224 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,225 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,226 INFO L272 TraceCheckUtils]: 51: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:34,226 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:34,227 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-15 09:18:34,227 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-15 09:18:34,229 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 09:18:34,229 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:18:34,804 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-15 09:18:34,804 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-15 09:18:34,805 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:34,805 INFO L272 TraceCheckUtils]: 51: Hoare triple {2230#(= 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)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:34,806 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,811 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,811 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,812 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,812 INFO L272 TraceCheckUtils]: 46: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,812 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:34,813 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:34,813 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:34,813 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:34,813 INFO L272 TraceCheckUtils]: 41: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:34,813 INFO L290 TraceCheckUtils]: 40: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {2230#(= 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; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,010 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,010 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,010 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,010 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,010 INFO L272 TraceCheckUtils]: 34: Hoare triple {2230#(= 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)); {2046#true} is VALID [2022-04-15 09:18:35,011 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,011 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,011 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,011 INFO L272 TraceCheckUtils]: 29: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:35,012 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,012 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,012 INFO L272 TraceCheckUtils]: 24: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:35,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,013 INFO L290 TraceCheckUtils]: 22: Hoare triple {2046#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:18:35,013 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2046#true} {2046#true} #85#return; {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L290 TraceCheckUtils]: 19: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L272 TraceCheckUtils]: 17: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2046#true} {2046#true} #83#return; {2046#true} is VALID [2022-04-15 09:18:35,013 INFO L290 TraceCheckUtils]: 15: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#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; {2046#true} is VALID [2022-04-15 09:18:35,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-15 09:18:35,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-15 09:18:35,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 09:18:35,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#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); {2046#true} is VALID [2022-04-15 09:18:35,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-15 09:18:35,015 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-15 09:18:35,015 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:35,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [463992337] [2022-04-15 09:18:35,016 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:18:35,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209904123] [2022-04-15 09:18:35,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209904123] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 09:18:35,016 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 09:18:35,016 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 09:18:35,017 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:35,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1163106829] [2022-04-15 09:18:35,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1163106829] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:35,017 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:35,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 09:18:35,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795978409] [2022-04-15 09:18:35,017 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:35,017 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 09:18:35,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:35,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:18:35,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:35,048 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 09:18:35,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:35,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 09:18:35,048 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 09:18:35,048 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:18:35,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:35,474 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2022-04-15 09:18:35,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 09:18:35,474 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 09:18:35,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:35,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:18:35,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 09:18:35,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:18:35,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 09:18:35,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 09:18:35,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:35,533 INFO L225 Difference]: With dead ends: 66 [2022-04-15 09:18:35,533 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 09:18:35,533 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 09:18:35,534 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:35,534 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 09:18:35,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 09:18:35,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-15 09:18:35,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:35,580 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:35,580 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:35,581 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:35,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:35,583 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 09:18:35,583 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 09:18:35,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:35,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:35,584 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-15 09:18:35,584 INFO L87 Difference]: Start difference. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-15 09:18:35,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:35,587 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 09:18:35,587 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 09:18:35,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:35,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:35,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:35,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:35,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 09:18:35,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-04-15 09:18:35,590 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 55 [2022-04-15 09:18:35,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:35,590 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-04-15 09:18:35,590 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 09:18:35,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 71 transitions. [2022-04-15 09:18:35,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:35,683 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-04-15 09:18:35,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-15 09:18:35,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:35,684 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:35,710 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 09:18:35,895 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:35,895 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:35,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:35,896 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 1 times [2022-04-15 09:18:35,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:35,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [453186872] [2022-04-15 09:18:35,896 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:35,897 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 2 times [2022-04-15 09:18:35,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:35,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [70199763] [2022-04-15 09:18:35,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:35,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:35,912 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:35,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1570606973] [2022-04-15 09:18:35,912 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:18:35,912 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:35,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:35,913 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:35,934 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 09:18:35,973 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:18:35,973 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:18:35,974 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 09:18:35,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:35,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:18:39,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#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); {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#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; {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,598 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-15 09:18:39,598 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-15 09:18:39,598 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,603 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:39,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:39,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:39,605 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} {2770#true} #83#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:39,609 INFO L272 TraceCheckUtils]: 17: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,611 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2825#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:39,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 09:18:39,612 INFO L290 TraceCheckUtils]: 23: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !false; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 09:18:39,612 INFO L272 TraceCheckUtils]: 24: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,613 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #87#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 09:18:39,613 INFO L272 TraceCheckUtils]: 29: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,614 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #89#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 09:18:39,614 INFO L272 TraceCheckUtils]: 34: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,615 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,615 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #91#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 09:18:39,617 INFO L290 TraceCheckUtils]: 39: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,617 INFO L290 TraceCheckUtils]: 40: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,617 INFO L272 TraceCheckUtils]: 41: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:39,617 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,617 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,618 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,618 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,618 INFO L272 TraceCheckUtils]: 46: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= 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)); {2770#true} is VALID [2022-04-15 09:18:39,619 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,619 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,619 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,620 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,620 INFO L272 TraceCheckUtils]: 51: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= 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)); {2770#true} is VALID [2022-04-15 09:18:39,620 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:39,620 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:39,620 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:39,622 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,623 INFO L290 TraceCheckUtils]: 56: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,623 INFO L290 TraceCheckUtils]: 57: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:39,624 INFO L272 TraceCheckUtils]: 58: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= 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)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:39,625 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:39,625 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-15 09:18:39,625 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-15 09:18:39,626 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 15 proven. 8 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-15 09:18:39,626 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:18:40,870 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-15 09:18:40,871 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-15 09:18:40,871 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:40,872 INFO L272 TraceCheckUtils]: 58: Hoare triple {2975#(= (+ 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)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:40,873 INFO L290 TraceCheckUtils]: 57: Hoare triple {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:40,873 INFO L290 TraceCheckUtils]: 56: Hoare triple {2982#(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); {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:40,874 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2982#(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; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:40,874 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,874 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,874 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,874 INFO L272 TraceCheckUtils]: 51: Hoare triple {2982#(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)); {2770#true} is VALID [2022-04-15 09:18:40,875 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2982#(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; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:40,875 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,875 INFO L272 TraceCheckUtils]: 46: Hoare triple {2982#(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)); {2770#true} is VALID [2022-04-15 09:18:40,876 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2982#(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; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:40,876 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,876 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,877 INFO L272 TraceCheckUtils]: 41: Hoare triple {2982#(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)); {2770#true} is VALID [2022-04-15 09:18:40,877 INFO L290 TraceCheckUtils]: 40: Hoare triple {2982#(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; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:40,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:40,879 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:40,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,879 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,880 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:40,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,880 INFO L272 TraceCheckUtils]: 29: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,881 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:40,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,881 INFO L272 TraceCheckUtils]: 24: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:40,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {2770#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:40,882 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2770#true} #85#return; {2770#true} is VALID [2022-04-15 09:18:40,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,882 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2770#true} {2770#true} #83#return; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-15 09:18:40,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#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; {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#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); {2770#true} is VALID [2022-04-15 09:18:40,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-15 09:18:40,885 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-15 09:18:40,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:40,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [70199763] [2022-04-15 09:18:40,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:18:40,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1570606973] [2022-04-15 09:18:40,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1570606973] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:18:40,885 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:18:40,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-15 09:18:40,886 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:40,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [453186872] [2022-04-15 09:18:40,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [453186872] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:40,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:40,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 09:18:40,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [916506266] [2022-04-15 09:18:40,886 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:40,887 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-15 09:18:40,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:40,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 09:18:40,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:40,936 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 09:18:40,936 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:40,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 09:18:40,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-15 09:18:40,937 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 09:18:42,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:42,251 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-15 09:18:42,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 09:18:42,252 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-15 09:18:42,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:42,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 09:18:42,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-15 09:18:42,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 09:18:42,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-15 09:18:42,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-04-15 09:18:42,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:42,348 INFO L225 Difference]: With dead ends: 90 [2022-04-15 09:18:42,348 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 09:18:42,348 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-15 09:18:42,349 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 28 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 234 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 234 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:42,349 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 170 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 234 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 09:18:42,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 09:18:42,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-15 09:18:42,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:42,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 09:18:42,450 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 09:18:42,451 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 09:18:42,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:42,456 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-15 09:18:42,456 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-15 09:18:42,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:42,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:42,457 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-15 09:18:42,458 INFO L87 Difference]: Start difference. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-15 09:18:42,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:42,461 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-15 09:18:42,461 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-15 09:18:42,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:42,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:42,462 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:42,462 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:42,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 09:18:42,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 105 transitions. [2022-04-15 09:18:42,466 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 105 transitions. Word has length 62 [2022-04-15 09:18:42,467 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:42,467 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 105 transitions. [2022-04-15 09:18:42,467 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 09:18:42,467 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 105 transitions. [2022-04-15 09:18:42,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:42,611 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 105 transitions. [2022-04-15 09:18:42,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 09:18:42,615 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:42,615 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:42,631 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 09:18:42,819 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:42,819 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:42,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:42,820 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 09:18:42,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:42,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [921757591] [2022-04-15 09:18:42,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:42,821 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 09:18:42,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:42,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863382100] [2022-04-15 09:18:42,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:42,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:42,839 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:42,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1596381098] [2022-04-15 09:18:42,839 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:18:42,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:42,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:42,853 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:42,855 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 09:18:42,913 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:18:42,913 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:18:42,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 09:18:42,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:18:42,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:18:49,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-15 09:18:49,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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); {3690#true} is VALID [2022-04-15 09:18:49,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#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; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-15 09:18:49,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-15 09:18:49,338 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:18:49,340 INFO L290 TraceCheckUtils]: 14: Hoare triple {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:49,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:18:49,341 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} {3690#true} #83#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:49,341 INFO L272 TraceCheckUtils]: 17: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,341 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,341 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,342 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3745#(<= (mod main_~B~0 4294967296) 1)} #85#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:18:49,342 INFO L290 TraceCheckUtils]: 22: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,342 INFO L290 TraceCheckUtils]: 23: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,343 INFO L272 TraceCheckUtils]: 24: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,343 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,343 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,343 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,343 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,343 INFO L272 TraceCheckUtils]: 29: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,344 INFO L272 TraceCheckUtils]: 34: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,345 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,345 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,346 INFO L290 TraceCheckUtils]: 39: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,347 INFO L290 TraceCheckUtils]: 40: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,347 INFO L272 TraceCheckUtils]: 41: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:49,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,347 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,347 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,348 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,348 INFO L272 TraceCheckUtils]: 46: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= 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)); {3690#true} is VALID [2022-04-15 09:18:49,348 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,348 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,348 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,348 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,348 INFO L272 TraceCheckUtils]: 51: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= 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)); {3690#true} is VALID [2022-04-15 09:18:49,349 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,349 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,349 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,349 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,350 INFO L290 TraceCheckUtils]: 56: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,350 INFO L290 TraceCheckUtils]: 57: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,350 INFO L272 TraceCheckUtils]: 58: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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)); {3690#true} is VALID [2022-04-15 09:18:49,350 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,350 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,351 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,351 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,351 INFO L272 TraceCheckUtils]: 63: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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)); {3690#true} is VALID [2022-04-15 09:18:49,351 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:49,351 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:49,351 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:49,352 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:18:49,354 INFO L290 TraceCheckUtils]: 68: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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); {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 09:18:49,355 INFO L290 TraceCheckUtils]: 69: Hoare triple {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= 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; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-15 09:18:49,355 INFO L290 TraceCheckUtils]: 70: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} assume !false; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-15 09:18:49,356 INFO L272 TraceCheckUtils]: 71: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:49,357 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:49,357 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-15 09:18:49,357 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-15 09:18:49,357 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 09:18:49,357 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:18:57,184 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-15 09:18:57,185 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-15 09:18:57,185 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:18:57,186 INFO L272 TraceCheckUtils]: 71: Hoare triple {3936#(= (+ 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)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:18:57,186 INFO L290 TraceCheckUtils]: 70: Hoare triple {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:57,188 INFO L290 TraceCheckUtils]: 69: Hoare triple {3943#(= (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; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 09:18:57,199 INFO L290 TraceCheckUtils]: 68: Hoare triple {3947#(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); {3943#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-15 09:18:57,200 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3947#(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; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:18:57,200 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,200 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,200 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,200 INFO L272 TraceCheckUtils]: 63: Hoare triple {3947#(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)); {3690#true} is VALID [2022-04-15 09:18:57,201 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3947#(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; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:18:57,201 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,201 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,201 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,201 INFO L272 TraceCheckUtils]: 58: Hoare triple {3947#(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)); {3690#true} is VALID [2022-04-15 09:18:57,202 INFO L290 TraceCheckUtils]: 57: Hoare triple {3947#(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; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:18:57,203 INFO L290 TraceCheckUtils]: 56: Hoare triple {3984#(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); {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 09:18:57,204 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3984#(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; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:57,204 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,204 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,204 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,204 INFO L272 TraceCheckUtils]: 51: Hoare triple {3984#(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)); {3690#true} is VALID [2022-04-15 09:18:57,205 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3984#(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; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:57,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,205 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,206 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,206 INFO L272 TraceCheckUtils]: 46: Hoare triple {3984#(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)); {3690#true} is VALID [2022-04-15 09:18:57,207 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3984#(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; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:57,207 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,207 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,207 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,207 INFO L272 TraceCheckUtils]: 41: Hoare triple {3984#(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)); {3690#true} is VALID [2022-04-15 09:18:57,208 INFO L290 TraceCheckUtils]: 40: Hoare triple {3984#(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; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:57,213 INFO L290 TraceCheckUtils]: 39: Hoare triple {4036#(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; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:18:57,214 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {4036#(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; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:57,214 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,214 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,214 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,214 INFO L272 TraceCheckUtils]: 34: Hoare triple {4036#(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)); {3690#true} is VALID [2022-04-15 09:18:57,232 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {4036#(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; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:57,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,232 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,232 INFO L272 TraceCheckUtils]: 29: Hoare triple {4036#(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)); {3690#true} is VALID [2022-04-15 09:18:57,233 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {4036#(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; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:57,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,233 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,233 INFO L272 TraceCheckUtils]: 24: Hoare triple {4036#(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)); {3690#true} is VALID [2022-04-15 09:18:57,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {4036#(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; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:57,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {3690#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:18:57,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3690#true} #85#return; {3690#true} is VALID [2022-04-15 09:18:57,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3690#true} {3690#true} #83#return; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 09:18:57,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#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; {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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); {3690#true} is VALID [2022-04-15 09:18:57,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-15 09:18:57,239 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 09:18:57,239 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:18:57,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863382100] [2022-04-15 09:18:57,239 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:18:57,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1596381098] [2022-04-15 09:18:57,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1596381098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:18:57,240 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:18:57,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-15 09:18:57,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:18:57,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [921757591] [2022-04-15 09:18:57,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [921757591] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:18:57,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:18:57,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 09:18:57,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1184268307] [2022-04-15 09:18:57,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:18:57,241 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 09:18:57,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:18:57,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:18:57,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:57,296 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 09:18:57,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:57,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 09:18:57,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-15 09:18:57,296 INFO L87 Difference]: Start difference. First operand 87 states and 105 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:18:59,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:59,284 INFO L93 Difference]: Finished difference Result 121 states and 148 transitions. [2022-04-15 09:18:59,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 09:18:59,285 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 09:18:59,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:18:59,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:18:59,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 09:18:59,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:18:59,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 09:18:59,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-15 09:18:59,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:59,407 INFO L225 Difference]: With dead ends: 121 [2022-04-15 09:18:59,407 INFO L226 Difference]: Without dead ends: 98 [2022-04-15 09:18:59,408 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-15 09:18:59,408 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 23 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 345 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 345 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 09:18:59,409 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 214 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 345 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 09:18:59,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-15 09:18:59,527 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 96. [2022-04-15 09:18:59,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:18:59,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:18:59,528 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:18:59,529 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:18:59,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:59,532 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-15 09:18:59,532 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-15 09:18:59,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:59,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:59,533 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-15 09:18:59,533 INFO L87 Difference]: Start difference. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-15 09:18:59,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:18:59,537 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-15 09:18:59,537 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-15 09:18:59,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:18:59,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:18:59,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:18:59,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:18:59,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 09:18:59,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 111 transitions. [2022-04-15 09:18:59,542 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 111 transitions. Word has length 75 [2022-04-15 09:18:59,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:18:59,542 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 111 transitions. [2022-04-15 09:18:59,542 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 09:18:59,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 111 transitions. [2022-04-15 09:18:59,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:18:59,717 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 111 transitions. [2022-04-15 09:18:59,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 09:18:59,718 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:18:59,718 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:18:59,735 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 09:18:59,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:59,923 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:18:59,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:18:59,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 3 times [2022-04-15 09:18:59,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:18:59,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [280671821] [2022-04-15 09:18:59,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:18:59,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 4 times [2022-04-15 09:18:59,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:18:59,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [886979682] [2022-04-15 09:18:59,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:18:59,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:18:59,935 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:18:59,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [384145385] [2022-04-15 09:18:59,936 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:18:59,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:18:59,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:18:59,953 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:18:59,981 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 09:19:00,007 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:19:00,007 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:19:00,008 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 09:19:00,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:00,027 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:19:05,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#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); {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#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; {4790#true} is VALID [2022-04-15 09:19:05,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:19:05,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:05,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:05,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:05,136 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:05,137 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,137 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:05,137 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,138 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:05,140 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,141 INFO L272 TraceCheckUtils]: 24: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,141 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,141 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,142 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,142 INFO L272 TraceCheckUtils]: 29: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,143 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,143 INFO L272 TraceCheckUtils]: 34: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,143 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,143 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,143 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,144 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,145 INFO L290 TraceCheckUtils]: 39: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,146 INFO L290 TraceCheckUtils]: 40: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,146 INFO L272 TraceCheckUtils]: 41: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,146 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,146 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,146 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,147 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,147 INFO L272 TraceCheckUtils]: 46: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,147 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,147 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,147 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,148 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,148 INFO L272 TraceCheckUtils]: 51: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,148 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,148 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,148 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,149 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,151 INFO L290 TraceCheckUtils]: 56: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,151 INFO L290 TraceCheckUtils]: 57: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,152 INFO L272 TraceCheckUtils]: 58: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,152 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,152 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,153 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,153 INFO L272 TraceCheckUtils]: 63: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,153 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,153 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,153 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,154 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,154 INFO L272 TraceCheckUtils]: 68: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,154 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,154 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,154 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,155 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 09:19:05,156 INFO L290 TraceCheckUtils]: 73: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-15 09:19:05,156 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 09:19:05,156 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-15 09:19:05,156 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-15 09:19:05,156 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-15 09:19:05,156 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 09:19:05,157 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 23 proven. 16 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 09:19:05,157 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:19:05,995 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 09:19:05,995 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-15 09:19:05,995 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-15 09:19:05,995 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-15 09:19:05,996 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 09:19:05,996 INFO L290 TraceCheckUtils]: 73: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-15 09:19:05,997 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #91#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 09:19:05,997 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,997 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,997 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,997 INFO L272 TraceCheckUtils]: 68: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,998 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #89#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 09:19:05,998 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,998 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,998 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,998 INFO L272 TraceCheckUtils]: 63: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,998 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #87#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 09:19:05,999 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:05,999 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:05,999 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:05,999 INFO L272 TraceCheckUtils]: 58: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:05,999 INFO L290 TraceCheckUtils]: 57: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !false; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 09:19:06,000 INFO L290 TraceCheckUtils]: 56: Hoare triple {5102#(or (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; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 09:19:06,001 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:19:06,001 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,001 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,001 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,001 INFO L272 TraceCheckUtils]: 51: Hoare triple {5102#(or (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)); {4790#true} is VALID [2022-04-15 09:19:06,002 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:19:06,002 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,002 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,002 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,002 INFO L272 TraceCheckUtils]: 46: Hoare triple {5102#(or (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)); {4790#true} is VALID [2022-04-15 09:19:06,003 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:19:06,003 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,003 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,003 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,003 INFO L272 TraceCheckUtils]: 41: Hoare triple {5102#(or (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)); {4790#true} is VALID [2022-04-15 09:19:06,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:19:06,005 INFO L290 TraceCheckUtils]: 39: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:19:06,005 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #91#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 09:19:06,005 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,005 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,006 INFO L272 TraceCheckUtils]: 34: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,006 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #89#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 09:19:06,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,007 INFO L272 TraceCheckUtils]: 29: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,007 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #87#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 09:19:06,007 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,007 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,007 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,008 INFO L272 TraceCheckUtils]: 24: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !false; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 09:19:06,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 09:19:06,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:06,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,011 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,011 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:06,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 09:19:06,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 09:19:06,015 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:06,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 09:19:06,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:06,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:06,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 09:19:06,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#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; {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#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); {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-15 09:19:06,018 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 18 proven. 21 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 09:19:06,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:19:06,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [886979682] [2022-04-15 09:19:06,019 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:19:06,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [384145385] [2022-04-15 09:19:06,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [384145385] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:19:06,019 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:19:06,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 09:19:06,019 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:19:06,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [280671821] [2022-04-15 09:19:06,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [280671821] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:19:06,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:19:06,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 09:19:06,020 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1337707827] [2022-04-15 09:19:06,020 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:19:06,021 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 09:19:06,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:19:06,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:19:06,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:06,082 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 09:19:06,082 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:06,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 09:19:06,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 09:19:06,083 INFO L87 Difference]: Start difference. First operand 96 states and 111 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:19:07,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:07,731 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-15 09:19:07,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 09:19:07,732 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 09:19:07,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:19:07,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:19:07,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-15 09:19:07,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:19:07,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-15 09:19:07,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-15 09:19:07,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:07,829 INFO L225 Difference]: With dead ends: 113 [2022-04-15 09:19:07,829 INFO L226 Difference]: Without dead ends: 76 [2022-04-15 09:19:07,829 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-15 09:19:07,830 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 16 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 09:19:07,830 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 179 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 09:19:07,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-15 09:19:07,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-15 09:19:07,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:19:07,986 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:19:07,986 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:19:07,986 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:19:07,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:07,989 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-15 09:19:07,989 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 09:19:07,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:07,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:07,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-15 09:19:07,990 INFO L87 Difference]: Start difference. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-15 09:19:07,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:07,992 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-15 09:19:07,992 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 09:19:07,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:07,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:07,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:19:07,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:19:07,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 09:19:07,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2022-04-15 09:19:07,995 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 79 [2022-04-15 09:19:07,996 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:19:07,996 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2022-04-15 09:19:07,996 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 09:19:07,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 87 transitions. [2022-04-15 09:19:08,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:08,112 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 09:19:08,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 09:19:08,112 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:19:08,112 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:19:08,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 09:19:08,315 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:19:08,315 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:19:08,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:19:08,316 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 09:19:08,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:08,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1332998970] [2022-04-15 09:19:08,316 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:19:08,316 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 09:19:08,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:19:08,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72535643] [2022-04-15 09:19:08,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:19:08,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:19:08,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:19:08,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1998697200] [2022-04-15 09:19:08,329 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 09:19:08,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:19:08,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:19:08,330 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:19:08,339 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 09:19:08,381 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 09:19:08,381 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:19:08,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 09:19:08,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:08,397 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:19:10,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-15 09:19:10,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#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); {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#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; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-15 09:19:10,276 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,277 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:19:10,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:10,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:10,278 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} {5813#true} #83#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:19:10,278 INFO L272 TraceCheckUtils]: 17: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,278 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5868#(<= (mod main_~B~0 4294967296) 1)} #85#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:19:10,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,280 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #87#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,280 INFO L272 TraceCheckUtils]: 29: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,280 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,281 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #89#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,281 INFO L272 TraceCheckUtils]: 34: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,281 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,282 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #91#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:19:10,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:19:10,283 INFO L272 TraceCheckUtils]: 41: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,284 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:19:10,284 INFO L272 TraceCheckUtils]: 46: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,284 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,284 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,284 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,285 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:19:10,285 INFO L272 TraceCheckUtils]: 51: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,285 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,285 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,285 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,285 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 09:19:10,287 INFO L290 TraceCheckUtils]: 56: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:19:10,287 INFO L290 TraceCheckUtils]: 57: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:19:10,287 INFO L272 TraceCheckUtils]: 58: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (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)); {5813#true} is VALID [2022-04-15 09:19:10,287 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,287 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,287 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,288 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:19:10,288 INFO L272 TraceCheckUtils]: 63: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,288 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,288 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,288 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,289 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 09:19:10,290 INFO L290 TraceCheckUtils]: 68: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (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); {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,290 INFO L290 TraceCheckUtils]: 69: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,291 INFO L290 TraceCheckUtils]: 70: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,291 INFO L272 TraceCheckUtils]: 71: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:10,291 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:10,291 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:10,291 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:10,300 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #93#return; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 09:19:10,301 INFO L272 TraceCheckUtils]: 76: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:19:10,301 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:19:10,302 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-15 09:19:10,302 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-15 09:19:10,303 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 09:19:10,303 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:19:17,145 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-15 09:19:17,145 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-15 09:19:17,146 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:19:17,146 INFO L272 TraceCheckUtils]: 76: Hoare triple {6073#(= 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)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:19:17,147 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:19:17,147 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,147 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,147 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,147 INFO L272 TraceCheckUtils]: 71: Hoare triple {6073#(= 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)); {5813#true} is VALID [2022-04-15 09:19:17,147 INFO L290 TraceCheckUtils]: 70: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:19:17,148 INFO L290 TraceCheckUtils]: 69: Hoare triple {6073#(= 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; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:19:17,158 INFO L290 TraceCheckUtils]: 68: Hoare triple {6098#(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); {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 09:19:17,159 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {6098#(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; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:19:17,159 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,159 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,159 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,159 INFO L272 TraceCheckUtils]: 63: Hoare triple {6098#(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)); {5813#true} is VALID [2022-04-15 09:19:17,160 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {6098#(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; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:19:17,160 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,160 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,160 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,160 INFO L272 TraceCheckUtils]: 58: Hoare triple {6098#(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)); {5813#true} is VALID [2022-04-15 09:19:17,161 INFO L290 TraceCheckUtils]: 57: Hoare triple {6098#(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; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:19:17,162 INFO L290 TraceCheckUtils]: 56: Hoare triple {6135#(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); {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 09:19:17,162 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {6135#(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; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:19:17,163 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,163 INFO L272 TraceCheckUtils]: 51: Hoare triple {6135#(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)); {5813#true} is VALID [2022-04-15 09:19:17,163 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {6135#(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; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:19:17,163 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,163 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L272 TraceCheckUtils]: 46: Hoare triple {6135#(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)); {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {6135#(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; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:19:17,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,164 INFO L272 TraceCheckUtils]: 41: Hoare triple {6135#(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)); {5813#true} is VALID [2022-04-15 09:19:17,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {6135#(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; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:19:17,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {6187#(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; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:19:17,169 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:19:17,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L272 TraceCheckUtils]: 34: Hoare triple {6187#(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)); {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:19:17,170 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,171 INFO L272 TraceCheckUtils]: 29: Hoare triple {6187#(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)); {5813#true} is VALID [2022-04-15 09:19:17,171 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:19:17,171 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,171 INFO L272 TraceCheckUtils]: 24: Hoare triple {6187#(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)); {5813#true} is VALID [2022-04-15 09:19:17,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:19:17,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {5813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 09:19:17,172 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5813#true} #85#return; {5813#true} is VALID [2022-04-15 09:19:17,172 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,172 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,172 INFO L272 TraceCheckUtils]: 17: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5813#true} {5813#true} #83#return; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 09:19:17,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#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; {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#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); {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-15 09:19:17,174 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 09:19:17,175 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:19:17,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72535643] [2022-04-15 09:19:17,175 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:19:17,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1998697200] [2022-04-15 09:19:17,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1998697200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:19:17,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:19:17,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 09:19:17,175 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:19:17,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1332998970] [2022-04-15 09:19:17,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1332998970] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:19:17,176 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:19:17,176 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 09:19:17,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1066362766] [2022-04-15 09:19:17,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:19:17,176 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 09:19:17,177 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:19:17,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:19:17,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:17,231 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 09:19:17,231 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:17,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 09:19:17,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2022-04-15 09:19:17,231 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:19:18,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:18,088 INFO L93 Difference]: Finished difference Result 96 states and 109 transitions. [2022-04-15 09:19:18,088 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 09:19:18,088 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 09:19:18,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:19:18,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:19:18,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 09:19:18,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:19:18,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 09:19:18,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-15 09:19:18,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:18,188 INFO L225 Difference]: With dead ends: 96 [2022-04-15 09:19:18,189 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 09:19:18,189 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-15 09:19:18,190 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 20 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 210 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 09:19:18,190 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 175 Invalid, 210 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 09:19:18,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 09:19:18,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-15 09:19:18,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:19:18,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 09:19:18,298 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 09:19:18,298 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 09:19:18,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:18,300 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 09:19:18,300 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 09:19:18,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:18,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:18,301 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-15 09:19:18,301 INFO L87 Difference]: Start difference. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-15 09:19:18,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:19:18,303 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 09:19:18,303 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 09:19:18,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:19:18,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:19:18,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:19:18,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:19:18,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 09:19:18,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 74 transitions. [2022-04-15 09:19:18,305 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 74 transitions. Word has length 80 [2022-04-15 09:19:18,305 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:19:18,305 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 74 transitions. [2022-04-15 09:19:18,306 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 09:19:18,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 74 transitions. [2022-04-15 09:19:18,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:19:18,420 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 09:19:18,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 09:19:18,421 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 09:19:18,421 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 09:19:18,439 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-15 09:19:18,623 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:19:18,624 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 09:19:18,624 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 09:19:18,624 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 09:19:18,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 09:19:18,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2133241371] [2022-04-15 09:19:18,624 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 09:19:18,624 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 09:19:18,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 09:19:18,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [19157462] [2022-04-15 09:19:18,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 09:19:18,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 09:19:18,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 09:19:18,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1648108829] [2022-04-15 09:19:18,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 09:19:18,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 09:19:18,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 09:19:18,640 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 09:19:18,664 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 09:19:18,700 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 09:19:18,700 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 09:19:18,701 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 09:19:18,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 09:19:18,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 09:19:48,545 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-15 09:19:48,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#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); {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#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; {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-15 09:19:48,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-15 09:19:48,547 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,551 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 09:19:48,551 INFO L290 TraceCheckUtils]: 14: Hoare triple {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:48,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 09:19:48,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} {6789#true} #83#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:19:48,552 INFO L272 TraceCheckUtils]: 17: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,552 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,553 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6844#(<= (mod main_~B~0 4294967296) 1)} #85#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 09:19:48,554 INFO L290 TraceCheckUtils]: 22: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,555 INFO L290 TraceCheckUtils]: 23: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,555 INFO L272 TraceCheckUtils]: 24: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,555 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,555 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,556 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,556 INFO L272 TraceCheckUtils]: 29: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,556 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,557 INFO L272 TraceCheckUtils]: 34: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,557 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,557 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,557 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,561 INFO L290 TraceCheckUtils]: 40: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,561 INFO L272 TraceCheckUtils]: 41: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,561 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,561 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,561 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,562 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,562 INFO L272 TraceCheckUtils]: 46: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,562 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,562 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,562 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,563 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,563 INFO L272 TraceCheckUtils]: 51: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,563 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,563 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,563 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,564 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,564 INFO L290 TraceCheckUtils]: 56: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,565 INFO L290 TraceCheckUtils]: 57: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,565 INFO L272 TraceCheckUtils]: 58: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,565 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,565 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,566 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,566 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,566 INFO L272 TraceCheckUtils]: 63: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,566 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,566 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,566 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,567 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 09:19:48,572 INFO L290 TraceCheckUtils]: 68: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* main_~d~0 2) (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) 1 (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,578 INFO L290 TraceCheckUtils]: 69: Hoare triple {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* main_~d~0 2) (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) 1 (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,586 INFO L290 TraceCheckUtils]: 70: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,587 INFO L272 TraceCheckUtils]: 71: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,587 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,587 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,587 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,588 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,588 INFO L272 TraceCheckUtils]: 76: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:19:48,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:19:48,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:19:48,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:19:48,590 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 09:19:48,621 INFO L290 TraceCheckUtils]: 81: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {7045#(and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-15 09:19:48,622 INFO L272 TraceCheckUtils]: 82: Hoare triple {7045#(and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:19:48,622 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:19:48,623 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-15 09:19:48,623 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-15 09:19:48,623 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2022-04-15 09:19:48,623 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 09:20:17,018 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-15 09:20:17,019 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-15 09:20:17,019 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 09:20:17,020 INFO L272 TraceCheckUtils]: 82: Hoare triple {7069#(= (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)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 09:20:17,020 INFO L290 TraceCheckUtils]: 81: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {7069#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 09:20:17,021 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:20:17,021 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,021 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,021 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,021 INFO L272 TraceCheckUtils]: 76: Hoare triple {7073#(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)); {6789#true} is VALID [2022-04-15 09:20:17,022 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:20:17,022 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,022 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,022 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,022 INFO L272 TraceCheckUtils]: 71: Hoare triple {7073#(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)); {6789#true} is VALID [2022-04-15 09:20:17,022 INFO L290 TraceCheckUtils]: 70: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:20:17,024 INFO L290 TraceCheckUtils]: 69: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:20:17,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (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); {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 09:20:17,030 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (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; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 09:20:17,030 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,030 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,030 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,030 INFO L272 TraceCheckUtils]: 63: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (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)); {6789#true} is VALID [2022-04-15 09:20:17,031 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (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; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 09:20:17,031 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,031 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,031 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,031 INFO L272 TraceCheckUtils]: 58: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (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)); {6789#true} is VALID [2022-04-15 09:20:17,032 INFO L290 TraceCheckUtils]: 57: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (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; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 09:20:17,033 INFO L290 TraceCheckUtils]: 56: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (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); {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 09:20:17,033 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (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; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:17,033 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L272 TraceCheckUtils]: 51: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (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)); {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (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; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:17,034 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,034 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,035 INFO L272 TraceCheckUtils]: 46: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (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)); {6789#true} is VALID [2022-04-15 09:20:17,035 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (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; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:17,035 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,035 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,035 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,035 INFO L272 TraceCheckUtils]: 41: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (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)); {6789#true} is VALID [2022-04-15 09:20:17,036 INFO L290 TraceCheckUtils]: 40: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (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; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:17,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 09:20:17,040 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:17,040 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,040 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,040 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,040 INFO L272 TraceCheckUtils]: 34: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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)); {6789#true} is VALID [2022-04-15 09:20:17,041 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:17,041 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,041 INFO L272 TraceCheckUtils]: 29: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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)); {6789#true} is VALID [2022-04-15 09:20:17,042 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:17,042 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,042 INFO L272 TraceCheckUtils]: 24: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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)); {6789#true} is VALID [2022-04-15 09:20:17,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ 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; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {6789#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 09:20:17,043 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6789#true} #85#return; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L272 TraceCheckUtils]: 17: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6789#true} {6789#true} #83#return; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,043 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#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; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#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); {6789#true} is VALID [2022-04-15 09:20:17,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-15 09:20:17,045 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 09:20:17,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 09:20:17,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [19157462] [2022-04-15 09:20:17,045 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 09:20:17,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648108829] [2022-04-15 09:20:17,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648108829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 09:20:17,045 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 09:20:17,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 09:20:17,046 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 09:20:17,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2133241371] [2022-04-15 09:20:17,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2133241371] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 09:20:17,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 09:20:17,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 09:20:17,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1172604883] [2022-04-15 09:20:17,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 09:20:17,046 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 09:20:17,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 09:20:17,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:20:17,161 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:17,162 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 09:20:17,162 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 09:20:17,162 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 09:20:17,162 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-15 09:20:17,163 INFO L87 Difference]: Start difference. First operand 71 states and 74 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:20:18,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:18,873 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 09:20:18,873 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 09:20:18,873 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 09:20:18,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 09:20:18,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:20:18,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-15 09:20:18,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:20:18,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-15 09:20:18,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 55 transitions. [2022-04-15 09:20:19,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:19,006 INFO L225 Difference]: With dead ends: 71 [2022-04-15 09:20:19,006 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 09:20:19,007 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=116, Invalid=436, Unknown=0, NotChecked=0, Total=552 [2022-04-15 09:20:19,008 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 15 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 93 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 09:20:19,008 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 192 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 174 Invalid, 0 Unknown, 93 Unchecked, 0.7s Time] [2022-04-15 09:20:19,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 09:20:19,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 09:20:19,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 09:20:19,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 09:20:19,008 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 09:20:19,009 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 09:20:19,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:19,009 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 09:20:19,009 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 09:20:19,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:19,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:19,009 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 09:20:19,009 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 09:20:19,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 09:20:19,009 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 09:20:19,009 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 09:20:19,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:19,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 09:20:19,010 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 09:20:19,010 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 09:20:19,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 09:20:19,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 09:20:19,010 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-15 09:20:19,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 09:20:19,010 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 09:20:19,010 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 09:20:19,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 09:20:19,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 09:20:19,010 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 09:20:19,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 09:20:19,012 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 09:20:19,028 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 09:20:19,213 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 09:20:19,215 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 09:20:23,408 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-15 09:20:23,408 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-15 09:20:23,408 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-15 09:20:23,408 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (<= (mod main_~A~0 4294967296) 1) (<= .cse0 1) (<= 1 .cse0))) [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point L60(line 60) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= main_~d~0 .cse0) (<= .cse0 1) (<= 1 .cse0) (= main_~p~0 1))) [2022-04-15 09:20:23,409 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 63) the Hoare annotation is: true [2022-04-15 09:20:23,409 INFO L878 garLoopResultBuilder]: At program point L54(lines 54 57) the Hoare annotation is: (let ((.cse6 (mod main_~B~0 4294967296))) (and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse5 (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse0 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse1 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse2 (* (- 2) .cse5)) (.cse4 (+ .cse5 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296))) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse0 .cse1 2 (* main_~d~0 2) .cse2) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= .cse3 .cse4) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse0 .cse1 (* aux_div_v_main_~d~0_41_36 2) 1 .cse2) 8589934592) 1)) (<= (+ .cse3 main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) .cse5 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= .cse4 (+ .cse3 1)))))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (<= 1 .cse6) (= main_~q~0 0) (<= .cse6 main_~r~0) (= main_~p~0 1))) [2022-04-15 09:20:23,410 INFO L878 garLoopResultBuilder]: At program point L54-2(lines 22 63) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 09:20:23,410 INFO L878 garLoopResultBuilder]: At program point L48(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse9 (<= .cse1 1)) (.cse2 (= main_~q~0 0)) (.cse0 (mod main_~A~0 4294967296)) (.cse10 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (< main_~r~0 (* 2 .cse1)) (= main_~p~0 2) .cse2 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse4 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse5 (+ .cse4 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse6 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse7 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse8 (* .cse4 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse3 main_~d~0) (+ .cse4 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse3 .cse5) (<= .cse5 (+ .cse3 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse6 .cse7 (* aux_div_v_main_~d~0_41_36 2) .cse8 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse6 .cse7 2 .cse8 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (< 0 .cse1) (= (+ main_~d~0 main_~r~0) .cse0) .cse9 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse10) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) .cse9 .cse2 (<= .cse0 main_~r~0) .cse10)))) [2022-04-15 09:20:23,410 INFO L878 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296)) (.cse1 (mod main_~A~0 4294967296)) (.cse2 (= main_~p~0 1))) (or (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) (<= .cse0 1) (= main_~q~0 0) (<= .cse1 main_~r~0) .cse2) (and (= .cse1 (+ main_~r~0 .cse0)) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse4 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse5 (+ .cse4 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse6 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse7 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse8 (* .cse4 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse3 main_~d~0) (+ .cse4 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse3 .cse5) (<= .cse5 (+ .cse3 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse6 .cse7 (* aux_div_v_main_~d~0_41_36 2) .cse8 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse6 .cse7 2 .cse8 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse1) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse2))) [2022-04-15 09:20:23,410 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 63) the Hoare annotation is: true [2022-04-15 09:20:23,410 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 09:20:23,410 INFO L878 garLoopResultBuilder]: At program point L36-2(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 09:20:23,411 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-15 09:20:23,411 INFO L885 garLoopResultBuilder]: At program point L61(line 61) the Hoare annotation is: true [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (and (<= (mod main_~A~0 4294967296) 1) (<= (mod main_~B~0 4294967296) 1)) [2022-04-15 09:20:23,411 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 09:20:23,411 INFO L878 garLoopResultBuilder]: At program point L39(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 09:20:23,412 INFO L878 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 09:20:23,412 INFO L878 garLoopResultBuilder]: At program point L37-1(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 09:20:23,412 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-15 09:20:23,412 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 09:20:23,412 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-15 09:20:23,413 INFO L878 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 09:20:23,413 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 09:20:23,413 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-15 09:20:23,415 INFO L719 BasicCegarLoop]: Path program histogram: [4, 4, 2, 2, 2, 2, 2, 2, 2] [2022-04-15 09:20:23,418 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 09:20:23,422 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 09:20:23,423 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 09:20:23,554 INFO L163 areAnnotationChecker]: CFG has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 09:20:23,569 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 09:20:23 BoogieIcfgContainer [2022-04-15 09:20:23,569 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 09:20:23,570 INFO L158 Benchmark]: Toolchain (without parser) took 120155.17ms. Allocated memory was 182.5MB in the beginning and 263.2MB in the end (delta: 80.7MB). Free memory was 131.8MB in the beginning and 95.2MB in the end (delta: 36.7MB). Peak memory consumption was 132.0MB. Max. memory is 8.0GB. [2022-04-15 09:20:23,571 INFO L158 Benchmark]: CDTParser took 0.13ms. Allocated memory is still 182.5MB. Free memory was 148.1MB in the beginning and 148.0MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 09:20:23,571 INFO L158 Benchmark]: CACSL2BoogieTranslator took 294.38ms. Allocated memory is still 182.5MB. Free memory was 131.7MB in the beginning and 157.6MB in the end (delta: -25.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 09:20:23,571 INFO L158 Benchmark]: Boogie Preprocessor took 32.37ms. Allocated memory is still 182.5MB. Free memory was 157.6MB in the beginning and 156.0MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 09:20:23,571 INFO L158 Benchmark]: RCFGBuilder took 239.72ms. Allocated memory is still 182.5MB. Free memory was 156.0MB in the beginning and 144.5MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 09:20:23,572 INFO L158 Benchmark]: TraceAbstraction took 119584.04ms. Allocated memory was 182.5MB in the beginning and 263.2MB in the end (delta: 80.7MB). Free memory was 144.0MB in the beginning and 95.2MB in the end (delta: 48.8MB). Peak memory consumption was 143.7MB. Max. memory is 8.0GB. [2022-04-15 09:20:23,573 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13ms. Allocated memory is still 182.5MB. Free memory was 148.1MB in the beginning and 148.0MB in the end (delta: 74.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 294.38ms. Allocated memory is still 182.5MB. Free memory was 131.7MB in the beginning and 157.6MB in the end (delta: -25.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 32.37ms. Allocated memory is still 182.5MB. Free memory was 157.6MB in the beginning and 156.0MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 239.72ms. Allocated memory is still 182.5MB. Free memory was 156.0MB in the beginning and 144.5MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 119584.04ms. Allocated memory was 182.5MB in the beginning and 263.2MB in the end (delta: 80.7MB). Free memory was 144.0MB in the beginning and 95.2MB in the end (delta: 48.8MB). Peak memory consumption was 143.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 41 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 119.4s, OverallIterations: 11, TraceHistogramMax: 11, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 11.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 4.2s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 317 SdHoareTripleChecker+Valid, 3.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 258 mSDsluCounter, 1547 SdHoareTripleChecker+Invalid, 3.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 93 IncrementalHoareTripleChecker+Unchecked, 1123 mSDsCounter, 215 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1659 IncrementalHoareTripleChecker+Invalid, 1967 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 215 mSolverCounterUnsat, 424 mSDtfsCounter, 1659 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1067 GetRequests, 926 SyntacticMatches, 9 SemanticMatches, 132 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 274 ImplicationChecksByTransitivity, 5.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=8, InterpolantAutomatonStates: 94, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 11 MinimizatonAttempts, 20 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 38 LocationsWithAnnotation, 342 PreInvPairs, 453 NumberOfFragments, 2155 HoareAnnotationTreeSize, 342 FomulaSimplifications, 447 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 38 FomulaSimplificationsInter, 1494 FormulaSimplificationTreeSizeReductionInter, 3.7s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: (((((((((A % 4294967296 == r && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && -1 * d / -2 <= r) && B % 4294967296 <= r) && 0 < (-1 * r + 1) / 4294967296 + 1) || ((((((A % 4294967296 == r && d == p * (B % 4294967296)) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) && p == 1)) || ((((((((A == r + A / 4294967296 * 4294967296 && r / -2 <= -1 * d / 4) && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: (!(1 <= \old(cond)) || 1 <= cond) && (\old(cond) == 0 || !(cond == 0)) RESULT: Ultimate proved your program to be correct! [2022-04-15 09:20:23,686 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...