/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-fb4f59a-m [2022-04-28 06:16:08,228 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:16:08,230 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:16:08,284 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:16:08,284 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:16:08,285 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:16:08,291 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:16:08,293 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:16:08,308 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:16:08,312 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:16:08,313 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:16:08,314 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:16:08,314 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:16:08,316 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:16:08,317 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:16:08,319 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:16:08,320 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:16:08,320 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:16:08,322 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:16:08,327 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:16:08,328 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:16:08,329 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:16:08,330 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:16:08,331 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:16:08,332 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:16:08,344 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:16:08,344 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:16:08,345 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:16:08,346 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:16:08,346 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:16:08,347 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:16:08,347 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:16:08,348 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:16:08,349 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:16:08,349 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:16:08,350 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:16:08,350 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:16:08,355 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:16:08,356 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:16:08,356 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:16:08,356 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:16:08,358 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:16:08,359 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 06:16:08,384 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:16:08,385 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:16:08,386 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:16:08,386 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:16:08,386 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:16:08,386 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:16:08,386 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:16:08,387 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:16:08,387 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:16:08,387 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:16:08,388 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:16:08,388 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:16:08,388 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:16:08,388 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:16:08,388 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:16:08,388 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:16:08,389 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:16:08,389 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:16:08,390 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:16:08,390 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:16:08,390 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 06:16:08,712 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:16:08,737 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:16:08,739 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:16:08,740 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:16:08,741 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:16:08,742 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-28 06:16:08,817 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/943e7d253/3125bb076e774fa5839700324ca3f564/FLAG11da00cdb [2022-04-28 06:16:09,540 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:16:09,548 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-28 06:16:09,564 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/943e7d253/3125bb076e774fa5839700324ca3f564/FLAG11da00cdb [2022-04-28 06:16:09,788 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/943e7d253/3125bb076e774fa5839700324ca3f564 [2022-04-28 06:16:09,791 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:16:09,792 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:16:09,793 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:16:09,793 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:16:09,804 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:16:09,805 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:16:09" (1/1) ... [2022-04-28 06:16:09,806 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@43d171ad and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:09, skipping insertion in model container [2022-04-28 06:16:09,806 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:16:09" (1/1) ... [2022-04-28 06:16:09,812 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:16:09,850 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:16:10,089 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-28 06:16:10,137 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:16:10,143 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:16:10,161 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-28 06:16:10,189 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:16:10,207 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:16:10,208 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10 WrapperNode [2022-04-28 06:16:10,209 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:16:10,210 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:16:10,210 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:16:10,210 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:16:10,220 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,220 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,241 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,241 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,263 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,281 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,286 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,288 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:16:10,289 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:16:10,289 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:16:10,289 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:16:10,291 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (1/1) ... [2022-04-28 06:16:10,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:16:10,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:10,326 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 06:16:10,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 06:16:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:16:10,396 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:16:10,397 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:16:10,405 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:16:10,405 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:16:10,406 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:16:10,406 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:16:10,417 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:16:10,417 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:16:10,418 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:16:10,418 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 06:16:10,419 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:16:10,419 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:16:10,419 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:16:10,419 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:16:10,420 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:16:10,420 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:16:10,420 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:16:10,420 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:16:10,420 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:16:10,481 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:16:10,482 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:16:10,740 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:16:10,760 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:16:10,760 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:16:10,762 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:16:10 BoogieIcfgContainer [2022-04-28 06:16:10,762 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:16:10,770 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:16:10,770 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:16:10,773 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:16:10,774 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:16:09" (1/3) ... [2022-04-28 06:16:10,774 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74cb168a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:16:10, skipping insertion in model container [2022-04-28 06:16:10,774 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:16:10" (2/3) ... [2022-04-28 06:16:10,775 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74cb168a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:16:10, skipping insertion in model container [2022-04-28 06:16:10,775 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:16:10" (3/3) ... [2022-04-28 06:16:10,776 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-28 06:16:10,809 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:16:10,810 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:16:10,922 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:16:10,951 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@71aa1590, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6e77d6e1 [2022-04-28 06:16:10,951 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:16:10,958 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 06:16:10,986 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:16:10,986 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:10,987 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:10,988 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:10,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:10,992 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-28 06:16:11,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:11,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [108398774] [2022-04-28 06:16:11,034 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:11,035 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-28 06:16:11,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:11,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1036542171] [2022-04-28 06:16:11,058 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:11,059 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:11,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:11,270 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:16:11,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:11,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 06:16:11,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 06:16:11,303 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 06:16:11,303 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:16:11,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:11,313 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 06:16:11,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:16:11,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:11,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 06:16:11,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:16:11,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:11,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,354 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 06:16:11,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:16:11,356 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 06:16:11,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 06:16:11,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 06:16:11,357 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-28 06:16:11,357 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-28 06:16:11,357 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-28 06:16:11,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 06:16:11,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-28 06:16:11,360 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-28 06:16:11,360 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,360 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,360 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,361 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 06:16:11,362 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 06:16:11,362 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 06:16:11,363 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 06:16:11,363 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 06:16:11,363 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 06:16:11,363 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-28 06:16:11,363 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 06:16:11,364 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-28 06:16:11,365 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-28 06:16:11,365 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-28 06:16:11,365 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 06:16:11,366 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:16:11,368 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:11,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1036542171] [2022-04-28 06:16:11,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1036542171] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:11,369 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:11,369 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:16:11,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:11,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [108398774] [2022-04-28 06:16:11,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [108398774] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:11,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:11,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:16:11,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060949514] [2022-04-28 06:16:11,373 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:11,378 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:16:11,379 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:11,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:16:11,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:11,418 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:16:11,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:11,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:16:11,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:16:11,443 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:16:11,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:11,732 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-28 06:16:11,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:16:11,733 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:16:11,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:11,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:16:11,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 06:16:11,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:16:11,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 06:16:11,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 06:16:11,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:11,911 INFO L225 Difference]: With dead ends: 69 [2022-04-28 06:16:11,911 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 06:16:11,915 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:16:11,918 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:11,920 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:16:11,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 06:16:11,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-28 06:16:11,956 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:11,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:11,958 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:11,959 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:11,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:11,967 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:16:11,967 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:16:11,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:11,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:11,969 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 06:16:11,970 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 06:16:11,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:11,976 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:16:11,976 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:16:11,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:11,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:11,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:11,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:11,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:11,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-28 06:16:11,983 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-28 06:16:11,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:11,983 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-28 06:16:11,984 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:16:11,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-28 06:16:12,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:12,053 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:16:12,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:16:12,055 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:12,056 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:12,056 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:16:12,056 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:12,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:12,057 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-28 06:16:12,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:12,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [332348485] [2022-04-28 06:16:12,059 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:12,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-28 06:16:12,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:12,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107232762] [2022-04-28 06:16:12,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:12,063 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:12,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:12,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:16:12,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:12,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 06:16:12,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,206 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 06:16:12,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:16:12,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:12,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 06:16:12,219 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:16:12,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:12,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 06:16:12,229 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:16:12,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:12,244 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 06:16:12,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:16:12,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 06:16:12,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 06:16:12,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-28 06:16:12,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-28 06:16:12,248 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-28 06:16:12,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 06:16:12,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-28 06:16:12,249 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-28 06:16:12,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,250 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 06:16:12,251 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 06:16:12,251 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 06:16:12,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 06:16:12,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 06:16:12,251 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 06:16:12,252 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-28 06:16:12,253 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-28 06:16:12,254 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:16:12,254 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:16:12,255 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-28 06:16:12,255 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-28 06:16:12,256 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:16:12,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:12,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1107232762] [2022-04-28 06:16:12,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1107232762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:12,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:12,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:12,257 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:12,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [332348485] [2022-04-28 06:16:12,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [332348485] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:12,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:12,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:12,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1649913714] [2022-04-28 06:16:12,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:12,272 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 06:16:12,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:12,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:16:12,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:12,292 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:16:12,293 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:12,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:16:12,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:16:12,294 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:16:12,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:12,963 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 06:16:12,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:16:12,963 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 06:16:12,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:12,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:16:12,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:16:12,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:16:12,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:16:12,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 06:16:13,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:13,065 INFO L225 Difference]: With dead ends: 46 [2022-04-28 06:16:13,065 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 06:16:13,066 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:16:13,068 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:13,068 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:16:13,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 06:16:13,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 06:16:13,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:13,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:13,079 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:13,080 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:13,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:13,082 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:16:13,082 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:16:13,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:13,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:13,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 06:16:13,084 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 06:16:13,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:13,087 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 06:16:13,087 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 06:16:13,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:13,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:13,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:13,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:13,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:13,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-28 06:16:13,090 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-28 06:16:13,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:13,090 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-28 06:16:13,090 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 06:16:13,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-28 06:16:13,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:13,140 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-28 06:16:13,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 06:16:13,141 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:13,141 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:13,141 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:16:13,141 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:13,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:13,142 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-28 06:16:13,142 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:13,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1523060579] [2022-04-28 06:16:13,142 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:13,143 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-28 06:16:13,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:13,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [791313755] [2022-04-28 06:16:13,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:13,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:13,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,251 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:16:13,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,257 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 06:16:13,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,257 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 06:16:13,257 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:16:13,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 06:16:13,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 06:16:13,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,271 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 06:16:13,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 06:16:13,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,276 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,276 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 06:16:13,277 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 06:16:13,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:13,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:16:13,284 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:16:13,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 06:16:13,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 06:16:13,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-28 06:16:13,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-28 06:16:13,285 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-28 06:16:13,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 06:16:13,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-28 06:16:13,287 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-28 06:16:13,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,287 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 06:16:13,288 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 06:16:13,288 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,288 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,288 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 06:16:13,289 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:16:13,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:16:13,290 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-28 06:16:13,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 06:16:13,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 06:16:13,291 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 06:16:13,291 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:16:13,292 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:16:13,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:16:13,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-28 06:16:13,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-28 06:16:13,294 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:16:13,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:13,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [791313755] [2022-04-28 06:16:13,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [791313755] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:13,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:13,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:13,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:13,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1523060579] [2022-04-28 06:16:13,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1523060579] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:13,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:13,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:13,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241611442] [2022-04-28 06:16:13,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:13,296 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 06:16:13,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:13,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:13,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:13,319 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:16:13,319 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:13,320 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:16:13,320 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:16:13,320 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:14,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:14,028 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 06:16:14,028 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 06:16:14,028 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 06:16:14,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:14,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:14,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:16:14,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:14,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 06:16:14,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 06:16:14,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:14,114 INFO L225 Difference]: With dead ends: 50 [2022-04-28 06:16:14,114 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 06:16:14,115 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:16:14,117 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:14,119 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:16:14,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 06:16:14,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-28 06:16:14,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:14,154 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:14,155 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:14,157 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:14,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:14,159 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 06:16:14,160 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 06:16:14,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:14,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:14,163 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 06:16:14,163 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 06:16:14,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:14,168 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 06:16:14,168 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 06:16:14,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:14,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:14,169 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:14,169 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:14,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:16:14,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 06:16:14,172 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-28 06:16:14,172 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:14,181 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 06:16:14,182 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:14,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 06:16:14,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:14,253 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 06:16:14,254 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 06:16:14,254 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:14,254 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:14,254 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 06:16:14,257 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:14,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:14,257 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-28 06:16:14,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:14,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1324444716] [2022-04-28 06:16:14,258 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:14,258 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-28 06:16:14,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:14,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90184494] [2022-04-28 06:16:14,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:14,259 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:14,286 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:14,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804420133] [2022-04-28 06:16:14,286 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:14,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:14,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:14,295 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:16:14,339 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 06:16:14,361 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:14,361 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:14,363 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:16:14,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:14,394 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:16,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-28 06:16:16,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-28 06:16:16,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:16:16,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-28 06:16:16,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-28 06:16:16,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-28 06:16:16,608 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-28 06:16:16,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:16:16,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:16:16,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:16:16,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-28 06:16:16,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-28 06:16:16,609 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-28 06:16:16,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:16:16,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:16,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:16,611 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-28 06:16:16,611 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-28 06:16:16,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:16:16,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:16,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:16,613 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-28 06:16:16,613 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-28 06:16:16,614 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-28 06:16:16,614 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-28 06:16:16,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:16:16,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:16:16,615 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:16:16,615 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-28 06:16:16,616 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-28 06:16:16,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 06:16:16,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 06:16:16,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 06:16:16,623 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-28 06:16:16,624 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-28 06:16:16,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:16,625 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-28 06:16:16,625 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-28 06:16:16,625 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 06:16:16,625 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:16:16,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:16,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90184494] [2022-04-28 06:16:16,626 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:16,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804420133] [2022-04-28 06:16:16,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804420133] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:16,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:16,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:16:16,627 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:16,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1324444716] [2022-04-28 06:16:16,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1324444716] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:16,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:16,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:16:16,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [542151617] [2022-04-28 06:16:16,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:16,631 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 06:16:16,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:16,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 06:16:16,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:16,763 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:16:16,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:16,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:16:16,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:16,765 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 06:16:17,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:17,575 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-28 06:16:17,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:16:17,576 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 06:16:17,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:17,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 06:16:17,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 06:16:17,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 06:16:17,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 06:16:17,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-28 06:16:17,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:17,674 INFO L225 Difference]: With dead ends: 69 [2022-04-28 06:16:17,674 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 06:16:17,674 INFO L412 NwaCegarLoop]: 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-28 06:16:17,675 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:17,675 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:16:17,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 06:16:17,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-28 06:16:17,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:17,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:16:17,720 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:16:17,720 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:16:17,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:17,723 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 06:16:17,723 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:16:17,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:17,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:17,724 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 06:16:17,725 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 06:16:17,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:17,727 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 06:16:17,727 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:16:17,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:17,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:17,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:17,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:17,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 06:16:17,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-28 06:16:17,730 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-28 06:16:17,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:17,731 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-28 06:16:17,731 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 06:16:17,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-28 06:16:18,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:18,079 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 06:16:18,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 06:16:18,080 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:18,080 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:18,109 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 06:16:18,281 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:18,281 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:18,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:18,282 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-28 06:16:18,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:18,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [896414368] [2022-04-28 06:16:18,283 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:18,283 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-28 06:16:18,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:18,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [516754320] [2022-04-28 06:16:18,283 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:18,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:18,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:18,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1817735415] [2022-04-28 06:16:18,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:18,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:18,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:18,329 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:16:18,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 06:16:18,430 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:18,430 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:18,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:16:18,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:18,444 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:20,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 06:16:20,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-28 06:16:20,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 06:16:20,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 06:16:20,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-28 06:16:20,831 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-28 06:16:20,831 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:20,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:20,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,831 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 06:16:20,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 06:16:20,831 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-28 06:16:20,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:16:20,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:20,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:20,834 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-28 06:16:20,834 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-28 06:16:20,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:20,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:20,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,835 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-28 06:16:20,836 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-28 06:16:20,836 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-28 06:16:20,836 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-28 06:16:20,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:20,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:20,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,837 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-28 06:16:20,838 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-28 06:16:20,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:20,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:20,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,839 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-28 06:16:20,840 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-28 06:16:20,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:20,840 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:20,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:20,841 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-28 06:16:20,842 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-28 06:16:20,842 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-28 06:16:20,844 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-28 06:16:20,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:20,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 06:16:20,844 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 06:16:20,845 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 06:16:20,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:22,473 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 06:16:22,474 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 06:16:22,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:22,476 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:16:22,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:16:22,476 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:16:22,477 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:16:22,477 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,478 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:22,478 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:22,478 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 06:16:22,478 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:16:22,479 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:22,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:22,479 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-28 06:16:22,480 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:16:22,480 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:22,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:22,480 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 06:16:22,481 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:16:22,482 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-28 06:16:22,482 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-28 06:16:22,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:22,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:22,483 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-28 06:16:22,483 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-28 06:16:22,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:22,484 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-28 06:16:22,485 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-28 06:16:22,485 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-28 06:16:22,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 06:16:22,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 06:16:22,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 06:16:22,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 06:16:22,486 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-28 06:16:22,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-28 06:16:22,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 06:16:22,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 06:16:22,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 06:16:22,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-28 06:16:22,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 06:16:22,487 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 06:16:22,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:22,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [516754320] [2022-04-28 06:16:22,488 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:22,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817735415] [2022-04-28 06:16:22,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817735415] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:22,488 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:22,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-28 06:16:22,488 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:22,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [896414368] [2022-04-28 06:16:22,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [896414368] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:22,489 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:22,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:16:22,489 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1958213044] [2022-04-28 06:16:22,489 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:22,489 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-28 06:16:22,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:22,490 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-28 06:16:22,529 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-28 06:16:22,529 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:16:22,529 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:22,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:16:22,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:16:22,530 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-28 06:16:23,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:23,137 INFO L93 Difference]: Finished difference Result 65 states and 76 transitions. [2022-04-28 06:16:23,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:16:23,137 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-28 06:16:23,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:23,137 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-28 06:16:23,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-28 06:16:23,139 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-28 06:16:23,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-28 06:16:23,141 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 64 transitions. [2022-04-28 06:16:23,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:23,236 INFO L225 Difference]: With dead ends: 65 [2022-04-28 06:16:23,236 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 06:16:23,237 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:16:23,237 INFO L413 NwaCegarLoop]: 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-28 06:16:23,238 INFO L414 NwaCegarLoop]: 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-28 06:16:23,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 06:16:23,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-28 06:16:23,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:23,294 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-28 06:16:23,294 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-28 06:16:23,294 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-28 06:16:23,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:23,296 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-28 06:16:23,296 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 06:16:23,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:23,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:23,305 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-28 06:16:23,306 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-28 06:16:23,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:23,308 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-28 06:16:23,308 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 06:16:23,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:23,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:23,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:23,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:23,310 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-28 06:16:23,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2022-04-28 06:16:23,311 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 45 [2022-04-28 06:16:23,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:23,313 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2022-04-28 06:16:23,313 INFO L496 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-28 06:16:23,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 63 transitions. [2022-04-28 06:16:23,435 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-28 06:16:23,435 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 06:16:23,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 06:16:23,438 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:23,438 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:23,476 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 06:16:23,651 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:23,651 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:23,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:23,652 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-28 06:16:23,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:23,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [210011535] [2022-04-28 06:16:23,652 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:23,653 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-28 06:16:23,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:23,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1374906034] [2022-04-28 06:16:23,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:23,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:23,665 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:23,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1241006990] [2022-04-28 06:16:23,665 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:23,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:23,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:23,688 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:16:23,730 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 06:16:23,805 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:23,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:23,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 06:16:23,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:23,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:25,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-28 06:16:25,648 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-28 06:16:25,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-28 06:16:25,649 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-28 06:16:25,649 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-28 06:16:25,649 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-28 06:16:25,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-28 06:16:25,650 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-28 06:16:25,650 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-28 06:16:25,650 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-28 06:16:25,651 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-28 06:16:25,651 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-28 06:16:25,651 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-28 06:16:25,652 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-28 06:16:25,652 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-28 06:16:25,653 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-28 06:16:25,653 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-28 06:16:25,654 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-28 06:16:25,654 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-28 06:16:25,654 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-28 06:16:25,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,655 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-28 06:16:25,656 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-28 06:16:25,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,656 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,656 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-28 06:16:25,657 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-28 06:16:25,657 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,657 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,659 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-28 06:16:25,660 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-28 06:16:25,661 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-28 06:16:25,661 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-28 06:16:25,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,661 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,661 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,662 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-28 06:16:25,662 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-28 06:16:25,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:25,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:25,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:25,663 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-28 06:16:25,663 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-28 06:16:25,664 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:25,664 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-28 06:16:25,664 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-28 06:16:25,666 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 06:16:25,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:26,517 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-28 06:16:26,517 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-28 06:16:26,518 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:26,518 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-28 06:16:26,519 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-28 06:16:26,519 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,519 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,519 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,520 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-28 06:16:26,523 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-28 06:16:26,523 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,523 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,523 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,523 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-28 06:16:26,524 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-28 06:16:26,910 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-28 06:16:26,911 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-28 06:16:26,911 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,912 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-28 06:16:26,913 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-28 06:16:26,913 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,913 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,913 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,913 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-28 06:16:26,914 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-28 06:16:26,914 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,914 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,914 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-28 06:16:26,915 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-28 06:16:26,915 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-28 06:16:26,915 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2046#true} {2046#true} #85#return; {2046#true} is VALID [2022-04-28 06:16:26,915 INFO L290 TraceCheckUtils]: 20: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,915 INFO L290 TraceCheckUtils]: 19: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,916 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-28 06:16:26,916 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2046#true} {2046#true} #83#return; {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 15: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,916 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-28 06:16:26,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 06:16:26,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 06:16:26,917 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-28 06:16:26,917 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-28 06:16:26,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-28 06:16:26,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-28 06:16:26,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 06:16:26,917 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-28 06:16:26,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-28 06:16:26,918 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 06:16:26,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:26,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1374906034] [2022-04-28 06:16:26,918 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:26,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1241006990] [2022-04-28 06:16:26,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1241006990] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:16:26,918 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:16:26,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 06:16:26,918 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:26,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [210011535] [2022-04-28 06:16:26,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [210011535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:26,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:26,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:16:26,919 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2113137321] [2022-04-28 06:16:26,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:26,919 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 06:16:26,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:26,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:16:26,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:26,967 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:16:26,967 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:26,967 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:16:26,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:16:26,968 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-28 06:16:29,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,663 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2022-04-28 06:16:29,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:16:29,664 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 06:16:29,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:29,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:16:29,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 06:16:29,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:16:29,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 06:16:29,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 06:16:29,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:29,752 INFO L225 Difference]: With dead ends: 66 [2022-04-28 06:16:29,752 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 06:16:29,753 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:16:29,753 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:29,753 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:16:29,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 06:16:29,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-28 06:16:29,845 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:29,845 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-28 06:16:29,846 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-28 06:16:29,846 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-28 06:16:29,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,850 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 06:16:29,850 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 06:16:29,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:29,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:29,851 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-28 06:16:29,851 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-28 06:16:29,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,854 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 06:16:29,854 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 06:16:29,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:29,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:29,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:29,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:29,855 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-28 06:16:29,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-04-28 06:16:29,857 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 55 [2022-04-28 06:16:29,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:29,858 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-04-28 06:16:29,858 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 06:16:29,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 71 transitions. [2022-04-28 06:16:29,999 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-28 06:16:29,999 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-04-28 06:16:30,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 06:16:30,000 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:30,000 INFO L195 NwaCegarLoop]: 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-28 06:16:30,061 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-28 06:16:30,200 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:30,201 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:30,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:30,201 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 1 times [2022-04-28 06:16:30,201 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:30,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [439106450] [2022-04-28 06:16:30,202 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:30,202 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 2 times [2022-04-28 06:16:30,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:30,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930619998] [2022-04-28 06:16:30,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:30,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:30,219 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:30,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1349516598] [2022-04-28 06:16:30,223 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:30,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:30,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:30,240 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:16:30,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 06:16:30,430 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:30,431 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:30,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:16:30,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:30,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:36,361 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-28 06:16:36,363 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-28 06:16:36,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-28 06:16:36,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-28 06:16:36,365 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-28 06:16:36,365 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-28 06:16:36,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-28 06:16:36,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-28 06:16:36,368 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-28 06:16:36,383 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-28 06:16:36,384 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-28 06:16:36,384 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-28 06:16:36,385 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-28 06:16:36,389 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-28 06:16:36,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,390 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-28 06:16:36,391 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-28 06:16:36,391 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-28 06:16:36,391 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-28 06:16:36,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,392 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-28 06:16:36,392 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-28 06:16:36,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,393 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-28 06:16:36,393 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-28 06:16:36,393 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,393 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,393 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,394 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-28 06:16:36,395 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-28 06:16:36,395 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-28 06:16:36,395 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-28 06:16:36,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,396 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,396 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-28 06:16:36,396 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-28 06:16:36,396 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,396 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,397 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,397 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-28 06:16:36,397 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-28 06:16:36,397 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:36,397 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:36,398 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:36,398 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-28 06:16:36,399 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-28 06:16:36,400 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-28 06:16:36,401 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-28 06:16:36,401 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:36,401 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-28 06:16:36,401 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-28 06:16:36,402 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-28 06:16:36,402 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:38,591 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-28 06:16:38,591 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-28 06:16:38,592 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:38,592 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-28 06:16:38,593 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-28 06:16:38,593 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-28 06:16:38,594 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-28 06:16:38,594 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,594 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,594 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,594 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-28 06:16:38,595 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-28 06:16:38,595 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,595 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,595 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,595 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-28 06:16:38,596 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-28 06:16:38,596 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,596 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,596 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,596 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-28 06:16:38,597 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-28 06:16:38,597 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-28 06:16:38,598 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-28 06:16:38,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,600 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-28 06:16:38,601 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-28 06:16:38,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,601 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-28 06:16:38,614 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-28 06:16:38,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,616 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,616 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-28 06:16:38,617 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-28 06:16:38,617 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-28 06:16:38,617 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2770#true} #85#return; {2770#true} is VALID [2022-04-28 06:16:38,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,617 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,617 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,618 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-28 06:16:38,618 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2770#true} {2770#true} #83#return; {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,618 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-28 06:16:38,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 06:16:38,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 06:16:38,618 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-28 06:16:38,618 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-28 06:16:38,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-28 06:16:38,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-28 06:16:38,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 06:16:38,620 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-28 06:16:38,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-28 06:16:38,623 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-28 06:16:38,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:38,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [930619998] [2022-04-28 06:16:38,623 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:38,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1349516598] [2022-04-28 06:16:38,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1349516598] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:38,623 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:38,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-28 06:16:38,624 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:38,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [439106450] [2022-04-28 06:16:38,624 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [439106450] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:38,624 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:38,624 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 06:16:38,624 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2126909948] [2022-04-28 06:16:38,624 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:38,627 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-28 06:16:38,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:38,628 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-28 06:16:38,696 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-28 06:16:38,696 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 06:16:38,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:38,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 06:16:38,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-28 06:16:38,697 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-28 06:16:40,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:40,441 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-28 06:16:40,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:16:40,442 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-28 06:16:40,442 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:40,442 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-28 06:16:40,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-28 06:16:40,444 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-28 06:16:40,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-28 06:16:40,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-04-28 06:16:40,594 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-28 06:16:40,596 INFO L225 Difference]: With dead ends: 90 [2022-04-28 06:16:40,596 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 06:16:40,597 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-28 06:16:40,597 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 28 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 234 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:40,597 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 170 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 234 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 06:16:40,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 06:16:40,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-28 06:16:40,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:40,752 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-28 06:16:40,754 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-28 06:16:40,755 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-28 06:16:40,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:40,767 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-28 06:16:40,768 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-28 06:16:40,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:40,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:40,769 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-28 06:16:40,769 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-28 06:16:40,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:40,785 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-28 06:16:40,785 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-28 06:16:40,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:40,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:40,786 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:40,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:40,787 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-28 06:16:40,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 105 transitions. [2022-04-28 06:16:40,791 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 105 transitions. Word has length 62 [2022-04-28 06:16:40,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:40,791 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 105 transitions. [2022-04-28 06:16:40,792 INFO L496 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-28 06:16:40,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 105 transitions. [2022-04-28 06:16:40,992 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-28 06:16:40,992 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 105 transitions. [2022-04-28 06:16:40,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 06:16:40,993 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:40,993 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:41,015 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 06:16:41,194 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:41,194 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:41,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:41,194 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-28 06:16:41,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:41,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1251319296] [2022-04-28 06:16:41,195 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:16:41,195 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-28 06:16:41,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:41,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [5872507] [2022-04-28 06:16:41,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:41,195 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:41,245 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:41,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1733190896] [2022-04-28 06:16:41,245 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:41,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:41,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:41,266 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:16:41,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 06:16:41,383 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:41,383 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:41,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 06:16:41,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:41,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:50,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 06:16:50,466 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-28 06:16:50,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-28 06:16:50,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-28 06:16:50,469 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-28 06:16:50,469 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-28 06:16:50,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-28 06:16:50,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-28 06:16:50,470 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-28 06:16:50,470 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-28 06:16:50,471 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-28 06:16:50,471 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-28 06:16:50,472 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-28 06:16:50,472 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-28 06:16:50,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,472 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-28 06:16:50,473 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-28 06:16:50,473 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-28 06:16:50,474 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-28 06:16:50,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,474 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-28 06:16:50,475 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-28 06:16:50,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,475 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,476 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-28 06:16:50,476 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-28 06:16:50,476 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,476 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,476 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,477 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-28 06:16:50,478 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-28 06:16:50,478 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-28 06:16:50,479 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-28 06:16:50,479 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,479 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,479 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,480 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-28 06:16:50,480 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-28 06:16:50,480 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,480 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,480 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,481 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-28 06:16:50,481 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-28 06:16:50,481 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,481 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,481 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,481 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-28 06:16:50,482 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-28 06:16:50,483 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-28 06:16:50,483 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-28 06:16:50,483 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,483 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,483 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,483 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-28 06:16:50,484 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-28 06:16:50,484 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:16:50,484 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:16:50,484 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:16:50,484 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-28 06:16:50,486 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-28 06:16:50,488 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-28 06:16:50,488 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-28 06:16:50,489 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-28 06:16:50,490 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:50,490 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 06:16:50,490 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 06:16:50,490 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 06:16:50,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:00,304 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 06:17:00,304 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 06:17:00,305 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:00,319 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-28 06:17:00,320 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-28 06:17:00,322 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-28 06:17:00,334 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-28 06:17:00,335 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-28 06:17:00,335 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,335 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,335 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,336 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-28 06:17:00,338 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-28 06:17:00,338 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,338 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-28 06:17:00,355 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-28 06:17:00,357 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-28 06:17:00,358 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-28 06:17:00,358 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,358 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,358 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,358 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-28 06:17:00,359 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-28 06:17:00,359 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,359 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,359 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,359 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-28 06:17:00,360 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-28 06:17:00,360 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,360 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,360 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,360 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-28 06:17:00,361 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-28 06:17:00,365 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-28 06:17:00,366 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-28 06:17:00,366 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,366 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,366 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-28 06:17:00,367 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-28 06:17:00,367 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,367 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,367 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,367 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-28 06:17:00,368 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-28 06:17:00,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,368 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,368 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-28 06:17:00,369 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-28 06:17:00,373 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-28 06:17:00,373 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3690#true} #85#return; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,374 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-28 06:17:00,374 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3690#true} {3690#true} #83#return; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 15: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,374 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-28 06:17:00,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 06:17:00,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 06:17:00,375 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-28 06:17:00,375 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-28 06:17:00,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-28 06:17:00,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-28 06:17:00,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 06:17:00,375 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-28 06:17:00,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 06:17:00,376 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 06:17:00,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:00,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [5872507] [2022-04-28 06:17:00,376 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:00,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1733190896] [2022-04-28 06:17:00,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1733190896] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:17:00,376 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:17:00,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-28 06:17:00,376 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:00,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1251319296] [2022-04-28 06:17:00,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1251319296] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:00,377 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:00,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 06:17:00,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [471244571] [2022-04-28 06:17:00,377 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:00,377 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 06:17:00,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:00,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:17:00,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:00,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 06:17:00,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:00,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 06:17:00,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:17:00,441 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-28 06:17:02,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:02,863 INFO L93 Difference]: Finished difference Result 121 states and 148 transitions. [2022-04-28 06:17:02,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:17:02,863 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 06:17:02,864 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:02,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:17:02,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 06:17:02,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:17:02,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 06:17:02,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-28 06:17:03,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:03,069 INFO L225 Difference]: With dead ends: 121 [2022-04-28 06:17:03,069 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 06:17:03,070 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-28 06:17:03,070 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 23 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 345 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:03,071 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 214 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 345 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 06:17:03,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 06:17:03,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 96. [2022-04-28 06:17:03,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:03,244 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-28 06:17:03,252 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-28 06:17:03,254 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-28 06:17:03,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:03,273 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:17:03,273 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:17:03,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:03,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:03,274 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-28 06:17:03,277 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-28 06:17:03,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:03,281 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:17:03,281 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:17:03,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:03,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:03,283 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:03,283 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:03,283 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-28 06:17:03,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 111 transitions. [2022-04-28 06:17:03,287 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 111 transitions. Word has length 75 [2022-04-28 06:17:03,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:03,287 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 111 transitions. [2022-04-28 06:17:03,288 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 06:17:03,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 111 transitions. [2022-04-28 06:17:03,542 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-28 06:17:03,543 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 111 transitions. [2022-04-28 06:17:03,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 06:17:03,544 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:03,544 INFO L195 NwaCegarLoop]: 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-28 06:17:03,570 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:03,744 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:03,744 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:03,745 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:03,745 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 3 times [2022-04-28 06:17:03,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:03,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [817309721] [2022-04-28 06:17:03,745 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:03,745 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 4 times [2022-04-28 06:17:03,746 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:03,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1379348012] [2022-04-28 06:17:03,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:03,746 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:03,757 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:03,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2112087971] [2022-04-28 06:17:03,757 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:17:03,757 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:03,757 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:03,764 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:03,765 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 06:17:03,858 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:17:03,859 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:03,860 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 06:17:03,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:03,878 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:10,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-28 06:17:10,573 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-28 06:17:10,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,576 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-28 06:17:10,576 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-28 06:17:10,576 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-28 06:17:10,576 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-28 06:17:10,577 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-28 06:17:10,577 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-28 06:17:10,578 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-28 06:17:10,578 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-28 06:17:10,579 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-28 06:17:10,579 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-28 06:17:10,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,579 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-28 06:17:10,580 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-28 06:17:10,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,587 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,587 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-28 06:17:10,589 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-28 06:17:10,590 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-28 06:17:10,590 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-28 06:17:10,590 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,590 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,591 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-28 06:17:10,591 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-28 06:17:10,591 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,592 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-28 06:17:10,592 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-28 06:17:10,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,592 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,593 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-28 06:17:10,594 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-28 06:17:10,595 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-28 06:17:10,595 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-28 06:17:10,595 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,596 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-28 06:17:10,596 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-28 06:17:10,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,597 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-28 06:17:10,597 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-28 06:17:10,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,597 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,597 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,598 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-28 06:17:10,600 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-28 06:17:10,601 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-28 06:17:10,601 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-28 06:17:10,601 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,601 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,601 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,602 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-28 06:17:10,602 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-28 06:17:10,602 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,602 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,602 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,603 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-28 06:17:10,603 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-28 06:17:10,603 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:10,603 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:10,603 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:10,617 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-28 06:17:10,619 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-28 06:17:10,619 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 06:17:10,619 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-28 06:17:10,619 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-28 06:17:10,619 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-28 06:17:10,619 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 06:17:10,619 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-28 06:17:10,619 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:11,467 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 06:17:11,467 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-28 06:17:11,467 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-28 06:17:11,467 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-28 06:17:11,477 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 06:17:11,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-28 06:17:11,479 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-28 06:17:11,479 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,479 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,479 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,479 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-28 06:17:11,479 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-28 06:17:11,479 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,479 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,479 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,480 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-28 06:17:11,480 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-28 06:17:11,480 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,480 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,480 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,480 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-28 06:17:11,480 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-28 06:17:11,481 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-28 06:17:11,482 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-28 06:17:11,482 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,482 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,482 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,482 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-28 06:17:11,482 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-28 06:17:11,482 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,482 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,482 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,483 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-28 06:17:11,483 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-28 06:17:11,483 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,483 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,483 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,483 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-28 06:17:11,484 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-28 06:17:11,484 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-28 06:17:11,485 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-28 06:17:11,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,485 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,485 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-28 06:17:11,485 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-28 06:17:11,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,486 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-28 06:17:11,486 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-28 06:17:11,486 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,486 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,486 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-28 06:17:11,487 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-28 06:17:11,488 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-28 06:17:11,489 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-28 06:17:11,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,489 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,489 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-28 06:17:11,489 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-28 06:17:11,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 06:17:11,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 06:17:11,489 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-28 06:17:11,493 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-28 06:17:11,494 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-28 06:17:11,494 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-28 06:17:11,494 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-28 06:17:11,494 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-28 06:17:11,495 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-28 06:17:11,495 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-28 06:17:11,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-28 06:17:11,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-28 06:17:11,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 06:17:11,495 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-28 06:17:11,495 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-28 06:17:11,495 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-28 06:17:11,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:11,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1379348012] [2022-04-28 06:17:11,495 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:11,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2112087971] [2022-04-28 06:17:11,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2112087971] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:17:11,496 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:17:11,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 06:17:11,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:11,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [817309721] [2022-04-28 06:17:11,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [817309721] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:11,496 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:11,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:17:11,497 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1947003410] [2022-04-28 06:17:11,497 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:11,497 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-28 06:17:11,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:11,498 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-28 06:17:11,563 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:11,564 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:17:11,564 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:11,564 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:17:11,564 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:17:11,565 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-28 06:17:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:13,485 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-28 06:17:13,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:17:13,485 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-28 06:17:13,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:13,486 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-28 06:17:13,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 06:17:13,488 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-28 06:17:13,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 06:17:13,490 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-28 06:17:13,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:13,599 INFO L225 Difference]: With dead ends: 113 [2022-04-28 06:17:13,599 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 06:17:13,600 INFO L412 NwaCegarLoop]: 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-28 06:17:13,600 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 16 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:13,600 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 179 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 06:17:13,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 06:17:13,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-28 06:17:13,729 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:13,729 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-28 06:17:13,729 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-28 06:17:13,730 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-28 06:17:13,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:13,732 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-28 06:17:13,732 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 06:17:13,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:13,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:13,733 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-28 06:17:13,733 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-28 06:17:13,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:13,738 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-28 06:17:13,738 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 06:17:13,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:13,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:13,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:13,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:13,739 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-28 06:17:13,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2022-04-28 06:17:13,741 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 79 [2022-04-28 06:17:13,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:13,741 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2022-04-28 06:17:13,741 INFO L496 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-28 06:17:13,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 87 transitions. [2022-04-28 06:17:13,868 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-28 06:17:13,868 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 06:17:13,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 06:17:13,869 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:13,869 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:13,885 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:14,069 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:14,069 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:14,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:14,070 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-28 06:17:14,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:14,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1548608289] [2022-04-28 06:17:14,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:14,071 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-28 06:17:14,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:14,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [935820515] [2022-04-28 06:17:14,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:14,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:14,087 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:14,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [691466715] [2022-04-28 06:17:14,087 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:17:14,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:14,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:14,088 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:14,090 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 06:17:14,131 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:17:14,131 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:14,131 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 06:17:14,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:14,153 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:16,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-28 06:17:16,176 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-28 06:17:16,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-28 06:17:16,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-28 06:17:16,176 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-28 06:17:16,176 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-28 06:17:16,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,177 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-28 06:17:16,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-28 06:17:16,177 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-28 06:17:16,177 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-28 06:17:16,177 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-28 06:17:16,178 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-28 06:17:16,178 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-28 06:17:16,178 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-28 06:17:16,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,179 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-28 06:17:16,179 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-28 06:17:16,179 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-28 06:17:16,179 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-28 06:17:16,179 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,180 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,180 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-28 06:17:16,180 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-28 06:17:16,180 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,181 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-28 06:17:16,181 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-28 06:17:16,181 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,181 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,181 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-28 06:17:16,182 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-28 06:17:16,183 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-28 06:17:16,183 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-28 06:17:16,183 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,183 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,183 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,183 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-28 06:17:16,184 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-28 06:17:16,184 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,184 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,184 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,192 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-28 06:17:16,193 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-28 06:17:16,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,193 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-28 06:17:16,195 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-28 06:17:16,195 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-28 06:17:16,195 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-28 06:17:16,195 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,195 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,195 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,196 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-28 06:17:16,196 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-28 06:17:16,196 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,196 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,196 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,197 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-28 06:17:16,198 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-28 06:17:16,198 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-28 06:17:16,199 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-28 06:17:16,199 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-28 06:17:16,199 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:16,199 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:16,199 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:16,199 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-28 06:17:16,200 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-28 06:17:16,200 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:16,201 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-28 06:17:16,201 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-28 06:17:16,201 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 06:17:16,201 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:20,304 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-28 06:17:20,304 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-28 06:17:20,305 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:20,305 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-28 06:17:20,306 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-28 06:17:20,306 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,306 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,306 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,306 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-28 06:17:20,306 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-28 06:17:20,306 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-28 06:17:20,319 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-28 06:17:20,319 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-28 06:17:20,319 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,319 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,319 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,319 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-28 06:17:20,320 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-28 06:17:20,320 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,320 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,320 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,320 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-28 06:17:20,324 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-28 06:17:20,325 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-28 06:17:20,325 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-28 06:17:20,326 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,326 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-28 06:17:20,327 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-28 06:17:20,328 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,328 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,328 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,328 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-28 06:17:20,329 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-28 06:17:20,329 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,329 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,329 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,329 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-28 06:17:20,330 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-28 06:17:20,334 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-28 06:17:20,334 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-28 06:17:20,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,334 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,335 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,335 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-28 06:17:20,335 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-28 06:17:20,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,335 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-28 06:17:20,336 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-28 06:17:20,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,336 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-28 06:17:20,336 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-28 06:17:20,337 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-28 06:17:20,337 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5813#true} #85#return; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,338 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-28 06:17:20,338 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5813#true} {5813#true} #83#return; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,338 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-28 06:17:20,338 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 06:17:20,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 06:17:20,339 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-28 06:17:20,339 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-28 06:17:20,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-28 06:17:20,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-28 06:17:20,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 06:17:20,339 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-28 06:17:20,339 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-28 06:17:20,339 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 06:17:20,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:20,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [935820515] [2022-04-28 06:17:20,339 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:20,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [691466715] [2022-04-28 06:17:20,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [691466715] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:17:20,340 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:17:20,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 06:17:20,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:20,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1548608289] [2022-04-28 06:17:20,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1548608289] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:20,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:20,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:17:20,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2105728124] [2022-04-28 06:17:20,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:20,341 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-28 06:17:20,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:20,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:17:20,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:20,405 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:17:20,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:20,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:17:20,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:17:20,405 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-28 06:17:21,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:21,260 INFO L93 Difference]: Finished difference Result 96 states and 109 transitions. [2022-04-28 06:17:21,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:17:21,260 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-28 06:17:21,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:21,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:17:21,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:17:21,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:17:21,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:17:21,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 06:17:21,350 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-28 06:17:21,352 INFO L225 Difference]: With dead ends: 96 [2022-04-28 06:17:21,352 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 06:17:21,352 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:17:21,353 INFO L413 NwaCegarLoop]: 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-28 06:17:21,353 INFO L414 NwaCegarLoop]: 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-28 06:17:21,354 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 06:17:21,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 06:17:21,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:21,478 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-28 06:17:21,478 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-28 06:17:21,478 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-28 06:17:21,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:21,480 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 06:17:21,480 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 06:17:21,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:21,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:21,480 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-28 06:17:21,480 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-28 06:17:21,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:21,482 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 06:17:21,482 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 06:17:21,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:21,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:21,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:21,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:21,482 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-28 06:17:21,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 74 transitions. [2022-04-28 06:17:21,484 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 74 transitions. Word has length 80 [2022-04-28 06:17:21,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:21,484 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 74 transitions. [2022-04-28 06:17:21,484 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:17:21,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 74 transitions. [2022-04-28 06:17:21,599 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-28 06:17:21,599 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 06:17:21,600 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:17:21,600 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:21,600 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:21,619 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 06:17:21,803 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:21,803 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:21,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:21,804 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-28 06:17:21,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:21,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1050408511] [2022-04-28 06:17:21,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:17:21,804 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-28 06:17:21,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:21,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [840946142] [2022-04-28 06:17:21,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:21,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:21,817 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:21,817 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [416921279] [2022-04-28 06:17:21,817 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:21,817 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:21,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:21,848 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:17:21,888 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 06:17:21,919 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:21,920 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:21,921 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 06:17:21,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:21,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:51,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-28 06:17:51,290 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-28 06:17:51,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-28 06:17:51,290 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-28 06:17:51,290 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-28 06:17:51,290 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-28 06:17:51,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-28 06:17:51,290 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-28 06:17:51,291 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-28 06:17:51,291 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-28 06:17:51,291 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-28 06:17:51,292 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-28 06:17:51,292 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-28 06:17:51,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,293 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-28 06:17:51,295 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-28 06:17:51,295 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-28 06:17:51,296 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-28 06:17:51,296 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,296 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,296 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-28 06:17:51,297 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-28 06:17:51,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,297 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,297 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-28 06:17:51,297 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-28 06:17:51,297 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,298 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,298 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,298 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-28 06:17:51,300 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-28 06:17:51,301 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-28 06:17:51,301 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-28 06:17:51,301 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,301 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,301 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,302 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-28 06:17:51,302 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-28 06:17:51,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,303 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,303 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-28 06:17:51,303 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-28 06:17:51,303 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,303 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,303 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,304 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-28 06:17:51,308 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-28 06:17:51,308 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-28 06:17:51,309 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-28 06:17:51,309 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,309 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,309 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,309 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-28 06:17:51,309 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-28 06:17:51,309 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,309 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,310 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,311 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-28 06:17:51,321 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) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:51,324 INFO L290 TraceCheckUtils]: 69: Hoare triple {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~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) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:51,325 INFO L290 TraceCheckUtils]: 70: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:51,325 INFO L272 TraceCheckUtils]: 71: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< 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-28 06:17:51,325 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,325 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,326 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,326 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:51,326 INFO L272 TraceCheckUtils]: 76: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< 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-28 06:17:51,326 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:17:51,327 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:17:51,327 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:17:51,327 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:51,328 INFO L290 TraceCheckUtils]: 81: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {7045#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-28 06:17:51,329 INFO L272 TraceCheckUtils]: 82: Hoare triple {7045#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< 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-28 06:17:51,329 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:51,330 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-28 06:17:51,331 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-28 06:17:51,332 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-28 06:17:51,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:18:16,875 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-28 06:18:16,876 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-28 06:18:16,876 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:16,877 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-28 06:18:16,877 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-28 06:18:16,878 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-28 06:18:16,878 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,878 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,878 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,878 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-28 06:18:16,879 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-28 06:18:16,879 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,879 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,879 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,879 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-28 06:18:16,879 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-28 06:18:16,881 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-28 06:18:16,886 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-28 06:18:16,887 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-28 06:18:16,887 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,887 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,887 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,887 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-28 06:18:16,887 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-28 06:18:16,887 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,888 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,888 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,888 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-28 06:18:16,888 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-28 06:18:16,890 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-28 06:18:16,890 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-28 06:18:16,890 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,890 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,890 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,891 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-28 06:18:16,891 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-28 06:18:16,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,891 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,891 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-28 06:18:16,892 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-28 06:18:16,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,892 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,892 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,892 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-28 06:18:16,893 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-28 06:18:16,899 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-28 06:18:16,900 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-28 06:18:16,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,900 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-28 06:18:16,901 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-28 06:18:16,901 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,901 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,901 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,901 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-28 06:18:16,902 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-28 06:18:16,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,902 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-28 06:18:16,903 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-28 06:18:16,904 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-28 06:18:16,904 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6789#true} #85#return; {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,904 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-28 06:18:16,904 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6789#true} {6789#true} #83#return; {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,905 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-28 06:18:16,905 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 06:18:16,905 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-28 06:18:16,905 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-28 06:18:16,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-28 06:18:16,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 06:18:16,906 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-28 06:18:16,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-28 06:18:16,906 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-28 06:18:16,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:18:16,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [840946142] [2022-04-28 06:18:16,906 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:18:16,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [416921279] [2022-04-28 06:18:16,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [416921279] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:18:16,907 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:18:16,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 06:18:16,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:18:16,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1050408511] [2022-04-28 06:18:16,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1050408511] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:18:16,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:18:16,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 06:18:16,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [236410213] [2022-04-28 06:18:16,908 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:18:16,908 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-28 06:18:16,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:18:16,909 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-28 06:18:16,992 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-28 06:18:16,993 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 06:18:16,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:18:16,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 06:18:16,993 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:18:16,993 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-28 06:18:19,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:19,811 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 06:18:19,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:18:19,811 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-28 06:18:19,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:18:19,812 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-28 06:18:19,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 06:18:19,816 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-28 06:18:19,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 06:18:19,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 06:18:19,900 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-28 06:18:19,901 INFO L225 Difference]: With dead ends: 71 [2022-04-28 06:18:19,901 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 06:18:19,901 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=126, Invalid=474, Unknown=0, NotChecked=0, Total=600 [2022-04-28 06:18:19,903 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 18 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 311 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 311 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:18:19,903 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 185 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 311 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 06:18:19,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 06:18:19,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 06:18:19,904 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:18:19,904 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-28 06:18:19,904 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-28 06:18:19,904 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-28 06:18:19,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:19,904 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 06:18:19,904 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:18:19,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:19,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:19,904 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-28 06:18:19,904 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-28 06:18:19,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:18:19,904 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 06:18:19,904 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:18:19,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:19,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:18:19,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:18:19,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:18:19,905 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-28 06:18:19,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 06:18:19,905 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-28 06:18:19,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:18:19,905 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 06:18:19,905 INFO L496 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-28 06:18:19,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 06:18:19,905 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-28 06:18:19,905 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 06:18:19,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:18:19,907 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 06:18:19,929 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 06:18:20,123 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 06:18:20,125 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 06:18:24,641 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-28 06:18:24,641 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-28 06:18:24,641 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-28 06:18:24,641 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-28 06:18:24,641 INFO L895 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 06:18:24,641 INFO L895 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-28 06:18:24,641 INFO L895 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-28 06:18:24,641 INFO L895 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-28 06:18:24,642 INFO L895 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-28 06:18:24,642 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 22 63) the Hoare annotation is: true [2022-04-28 06:18:24,642 INFO L895 garLoopResultBuilder]: At program point L54(lines 54 57) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (+ (* main_~d~0 2) 1)) (<= 1 .cse0) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= .cse0 main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (= main_~p~0 1))) [2022-04-28 06:18:24,642 INFO L895 garLoopResultBuilder]: At program point L54-2(lines 22 63) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 06:18:24,642 INFO L895 garLoopResultBuilder]: At program point L48(lines 46 58) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse1 (mod main_~B~0 4294967296)) (.cse0 (mod main_~A~0 4294967296)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (< main_~r~0 (* 2 .cse1)) (= main_~p~0 2) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (< 0 .cse1) (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse5)))) [2022-04-28 06:18:24,642 INFO L895 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse4 (<= .cse1 1)) (.cse0 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (let ((.cse2 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (.cse3 (+ main_~d~0 main_~r~0))) (and (= main_~q~0 main_~p~0) (= .cse0 (+ main_~r~0 .cse1)) (< .cse2 (+ main_~d~0 main_~r~0 1)) (= .cse3 .cse0) .cse4 (< (div (+ (* (- 1) .cse2) 1) (- 4294967296)) (+ (div .cse3 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) .cse5)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) .cse4 (= main_~q~0 0) (<= .cse0 main_~r~0) .cse5)))) [2022-04-28 06:18:24,642 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 22 63) the Hoare annotation is: true [2022-04-28 06:18:24,642 INFO L895 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-28 06:18:24,642 INFO L895 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-28 06:18:24,643 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-28 06:18:24,643 INFO L902 garLoopResultBuilder]: At program point L61(line 61) the Hoare annotation is: true [2022-04-28 06:18:24,643 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-28 06:18:24,643 INFO L895 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-28 06:18:24,643 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-28 06:18:24,643 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-28 06:18:24,643 INFO L895 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 06:18:24,643 INFO L895 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 06:18:24,643 INFO L895 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-28 06:18:24,643 INFO L895 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-28 06:18:24,643 INFO L895 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-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L895 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-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L895 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 06:18:24,644 INFO L895 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-28 06:18:24,644 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-28 06:18:24,644 INFO L895 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-28 06:18:24,644 INFO L895 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-28 06:18:24,644 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 06:18:24,647 INFO L356 BasicCegarLoop]: Path program histogram: [4, 4, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 06:18:24,648 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 06:18:24,650 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 06:18:24,657 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 06:18:24,737 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-28 06:18:24,762 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 06:18:24 BoogieIcfgContainer [2022-04-28 06:18:24,762 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 06:18:24,763 INFO L158 Benchmark]: Toolchain (without parser) took 134971.20ms. Allocated memory was 169.9MB in the beginning and 245.4MB in the end (delta: 75.5MB). Free memory was 119.7MB in the beginning and 88.2MB in the end (delta: 31.5MB). Peak memory consumption was 122.2MB. Max. memory is 8.0GB. [2022-04-28 06:18:24,763 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 169.9MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 06:18:24,763 INFO L158 Benchmark]: CACSL2BoogieTranslator took 416.43ms. Allocated memory is still 169.9MB. Free memory was 119.4MB in the beginning and 145.4MB in the end (delta: -26.0MB). Peak memory consumption was 9.6MB. Max. memory is 8.0GB. [2022-04-28 06:18:24,764 INFO L158 Benchmark]: Boogie Preprocessor took 78.26ms. Allocated memory is still 169.9MB. Free memory was 145.4MB in the beginning and 143.7MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 06:18:24,764 INFO L158 Benchmark]: RCFGBuilder took 473.17ms. Allocated memory is still 169.9MB. Free memory was 143.7MB in the beginning and 132.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 06:18:24,764 INFO L158 Benchmark]: TraceAbstraction took 133991.71ms. Allocated memory was 169.9MB in the beginning and 245.4MB in the end (delta: 75.5MB). Free memory was 131.4MB in the beginning and 88.2MB in the end (delta: 43.2MB). Peak memory consumption was 134.6MB. Max. memory is 8.0GB. [2022-04-28 06:18:24,765 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.11ms. Allocated memory is still 169.9MB. Free memory is still 136.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 416.43ms. Allocated memory is still 169.9MB. Free memory was 119.4MB in the beginning and 145.4MB in the end (delta: -26.0MB). Peak memory consumption was 9.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 78.26ms. Allocated memory is still 169.9MB. Free memory was 145.4MB in the beginning and 143.7MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 473.17ms. Allocated memory is still 169.9MB. Free memory was 143.7MB in the beginning and 132.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 133991.71ms. Allocated memory was 169.9MB in the beginning and 245.4MB in the end (delta: 75.5MB). Free memory was 131.4MB in the beginning and 88.2MB in the end (delta: 43.2MB). Peak memory consumption was 134.6MB. 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: 133.8s, OverallIterations: 11, TraceHistogramMax: 11, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 16.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 4.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 320 SdHoareTripleChecker+Valid, 5.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 261 mSDsluCounter, 1540 SdHoareTripleChecker+Invalid, 5.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1116 mSDsCounter, 221 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1796 IncrementalHoareTripleChecker+Invalid, 2017 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 221 mSolverCounterUnsat, 424 mSDtfsCounter, 1796 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1068 GetRequests, 926 SyntacticMatches, 9 SemanticMatches, 133 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 282 ImplicationChecksByTransitivity, 7.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=8, InterpolantAutomatonStates: 93, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.0s AutomataMinimizationTime, 11 MinimizatonAttempts, 20 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 38 LocationsWithAnnotation, 342 PreInvPairs, 453 NumberOfFragments, 1608 HoareAnnotationTreeSize, 342 FomulaSimplifications, 447 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 38 FomulaSimplificationsInter, 1563 FormulaSimplificationTreeSizeReductionInter, 4.0s 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-28 06:18:24,938 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...